diff options
author | Alan Modra <amodra@gmail.com> | 2001-03-30 02:19:36 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2001-03-30 02:19:36 +0000 |
commit | e46d99eb07bc0e366152fe2e69c613a15496e347 (patch) | |
tree | 55c79a36f0269e43402893bb90316d29a865e26f /gas/frags.h | |
parent | bee723322c56ee34f9f511e901171e8ebfe5d22e (diff) | |
download | gdb-e46d99eb07bc0e366152fe2e69c613a15496e347.zip gdb-e46d99eb07bc0e366152fe2e69c613a15496e347.tar.gz gdb-e46d99eb07bc0e366152fe2e69c613a15496e347.tar.bz2 |
Multi-pass relaxation machinery.
Diffstat (limited to 'gas/frags.h')
-rw-r--r-- | gas/frags.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/gas/frags.h b/gas/frags.h index e4cb050..df259b8 100644 --- a/gas/frags.h +++ b/gas/frags.h @@ -43,8 +43,9 @@ struct obstack; struct frag { /* Object file address (as an octet offset). */ addressT fr_address; - /* Chain forward; ascending address order. Rooted in frch_root. */ - struct frag *fr_next; + /* When relaxing multiple times, remember the address the frag had + in the last relax pass. */ + addressT last_fr_address; /* (Fixed) number of octets we know we have. May be 0. */ offsetT fr_fix; @@ -52,12 +53,19 @@ struct frag { The generic frag handling code no longer makes any use of fr_var. */ offsetT fr_var; /* For variable-length tail. */ - symbolS *fr_symbol; - /* For variable-length tail. */ offsetT fr_offset; + /* For variable-length tail. */ + symbolS *fr_symbol; /* Points to opcode low addr byte, for relaxation. */ char *fr_opcode; + /* Chain forward; ascending address order. Rooted in frch_root. */ + struct frag *fr_next; + + /* Where the frag was created, or where it became a variant frag. */ + char *fr_file; + unsigned int fr_line; + #ifndef NO_LISTING struct list_info_struct *line; #endif @@ -86,10 +94,6 @@ struct frag { TC_FRAG_TYPE tc_frag_data; #endif - /* Where the frag was created, or where it became a variant frag. */ - char *fr_file; - unsigned int fr_line; - /* Data begins here. */ char fr_literal[1]; }; |