diff options
author | Alan Modra <amodra@gmail.com> | 2007-03-26 12:23:48 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2007-03-26 12:23:48 +0000 |
commit | 05e9452c8210da86b07b621562f4a89bd6f637d4 (patch) | |
tree | 993b95704efa783576c4566888567942310a4ac1 /gas/write.h | |
parent | 157090f728a99fff42b3d3cc576b0c2a953e9916 (diff) | |
download | gdb-05e9452c8210da86b07b621562f4a89bd6f637d4.zip gdb-05e9452c8210da86b07b621562f4a89bd6f637d4.tar.gz gdb-05e9452c8210da86b07b621562f4a89bd6f637d4.tar.bz2 |
* doc/as.texinfo (Reloc): Document.
* read.c (potable): Add "reloc".
(s_reloc): New function.
* write.c (reloc_list): New global var.
(resolve_reloc_expr_symbols): New function.
(write_object_file): Call it.
(write_relocs): Process reloc_list.
* write.h (struct reloc_list): New.
(reloc_list): Declare.
Diffstat (limited to 'gas/write.h')
-rw-r--r-- | gas/write.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gas/write.h b/gas/write.h index 6e691a2..2cc1bdd 100644 --- a/gas/write.h +++ b/gas/write.h @@ -142,11 +142,35 @@ struct fix typedef struct fix fixS; +struct reloc_list +{ + struct reloc_list *next; + union + { + struct + { + symbolS *offset_sym; + reloc_howto_type *howto; + symbolS *sym; + bfd_vma addend; + } a; + struct + { + asection *sec; + asymbol *s; + arelent r; + } b; + } u; + char *file; + unsigned int line; +}; + extern int finalize_syms; extern symbolS *abs_section_sym; extern addressT dot_value; extern long string_byte_count; extern int section_alignment[]; +extern struct reloc_list* reloc_list; extern void append (char **charPP, char *fromP, unsigned long length); extern void record_alignment (segT seg, int align); |