diff options
author | Iain Sandoe <iain@codesourcery.com> | 2012-01-12 14:03:12 +0000 |
---|---|---|
committer | Iain Sandoe <iain@codesourcery.com> | 2012-01-12 14:03:12 +0000 |
commit | 50d10658eef31d1c68763d556f02954b9c7c4f00 (patch) | |
tree | dcb4c7afc7cee5e547676de8c5069101eb4ddcf1 /gas/config/obj-macho.h | |
parent | 0a4734dc09362b45ad88c4092fe2531d27b8d1d1 (diff) | |
download | gdb-50d10658eef31d1c68763d556f02954b9c7c4f00.zip gdb-50d10658eef31d1c68763d556f02954b9c7c4f00.tar.gz gdb-50d10658eef31d1c68763d556f02954b9c7c4f00.tar.bz2 |
add indirect_symbol to mach-o port.
bfd:
* mach-o.c (bfd_mach_o_count_indirect_symbols): New.
(bfd_mach_o_build_dysymtab_command): Populate indirect symbol table.
* mach-o.h (bfd_mach_o_asymbol): Move declaration to start of the
file. (bfd_mach_o_section): Add indirect_syms field.
gas:
* config/obj-macho.c (obj_mach_o_set_symbol_qualifier): Switch off
lazy when the symbol is private_extern.
(obj_mach_o_indirect_sym): New type.
(obj_mach_o_indirect_symbol): New.
(mach_o_pseudo_table): Use obj_mach_o_indirect_symbol.
(obj_macho_frob_label): Adjust to avoid adding bsyms for locals.
(obj_macho_frob_label): Likewise. Adjust external and comm
symbol tests.
(obj_mach_o_set_indirect_symbols): New.
(obj_mach_o_frob_file_after_relocs): New.
*config/obj-macho.h (obj_frob_file_after_relocs): Define.
(obj_mach_o_frob_file_after_relocs): Declare.
include/mach-o:
* loader.h (BFD_MACH_O_INDIRECT_SYM_LOCAL): New.
(BFD_MACH_O_INDIRECT_SYM_ABS): New
gas/testsuite:
* gas/mach-o/dysymtab-2.d: New.
* gas/mach-o/err-syms-4.s: New.
* gas/mach-o/err-syms-5.s: New.
* gas/mach-o/err-syms-6.s: New.
* gas/mach-o/symbols-6-64.d: New.
* gas/mach-o/symbols-6-64.s: New.
* gas/mach-o/symbols-6.d: New.
* gas/mach-o/symbols-6.s: New.
Diffstat (limited to 'gas/config/obj-macho.h')
-rw-r--r-- | gas/config/obj-macho.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gas/config/obj-macho.h b/gas/config/obj-macho.h index cbc3a4f..9f1f3db 100644 --- a/gas/config/obj-macho.h +++ b/gas/config/obj-macho.h @@ -62,6 +62,9 @@ extern void obj_macho_frob_label (struct symbol *); #define obj_frob_symbol(s, punt) punt = obj_macho_frob_symbol(s) extern int obj_macho_frob_symbol (struct symbol *); +#define obj_frob_file_after_relocs obj_mach_o_frob_file_after_relocs +extern void obj_mach_o_frob_file_after_relocs (void); + #define EMIT_SECTION_SYMBOLS 0 #define OBJ_PROCESS_STAB(SEG,W,S,T,O,D) obj_mach_o_process_stab(W,S,T,O,D) |