From: Iain Sandoe Date: Sun, 12 Feb 2012 15:47:17 +0000 (+0000) Subject: gas: X-Git-Tag: cygwin-1_7_11-release~115 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8e43fc024d16859a34c2f2aa88b419e677373f88;p=external%2Fbinutils.git gas: * config/obj-macho.c (obj_mach_o_indirect_symbol): Force promotion of any local symbol used as an indirect. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 757db70..d8a95ee 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2012-02-12 Iain Sandoe + + * config/obj-macho.c (obj_mach_o_indirect_symbol): Force promotion of + any local symbol used as an indirect. + 2012-02-10 Iain Sandoe * config/obj-macho.c (obj_mach_o_make_or_get_sect): Always fill in diff --git a/gas/config/obj-macho.c b/gas/config/obj-macho.c index c32398f..2a2e47d 100644 --- a/gas/config/obj-macho.c +++ b/gas/config/obj-macho.c @@ -1187,6 +1187,11 @@ obj_mach_o_indirect_symbol (int arg ATTRIBUTE_UNUSED) } *input_line_pointer = c; + /* The indirect symbols are validated after the symbol table is + frozen, we must make sure that if a local symbol is used as an + indirect, it is promoted to a 'real' one. Fetching the bfd sym + achieves this. */ + symbol_get_bfdsym (sym); isym = (obj_mach_o_indirect_sym *) xmalloc (sizeof (obj_mach_o_indirect_sym));