diff options
author | Alan Modra <amodra@bigpond.net.au> | 2007-03-26 12:23:48 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2007-03-26 12:23:48 +0000 |
commit | 1ed61dc2ede4fa4bcaa9b714a94331037e7c0798 (patch) | |
tree | 7f8af4085fe5da748ef86d150ffb82ab8ec48020 /gas/write.h | |
parent | dd3ab927f194515b58e2800434e6b929f88b46fa (diff) | |
download | binutils-redhat-1ed61dc2ede4fa4bcaa9b714a94331037e7c0798.tar.gz |
* 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 6e691a22a3..2cc1bdd73a 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); |