From 05e9452c8210da86b07b621562f4a89bd6f637d4 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 26 Mar 2007 12:23:48 +0000 Subject: * 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. --- gas/write.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gas/write.h') 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); -- cgit v1.1