diff options
author | Ian Lance Taylor <ian@airs.com> | 1995-10-09 21:19:53 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1995-10-09 21:19:53 +0000 |
commit | 5f710a3a892886e442bc24a5a05a56550693abdc (patch) | |
tree | 82c4e30223b551f7a92b9a402477fe873cf98065 /bfd/coffgen.c | |
parent | 531f86b422809ddca80d367aeb8cf4154401f534 (diff) | |
download | gdb-5f710a3a892886e442bc24a5a05a56550693abdc.zip gdb-5f710a3a892886e442bc24a5a05a56550693abdc.tar.gz gdb-5f710a3a892886e442bc24a5a05a56550693abdc.tar.bz2 |
* libcoff-in.h (struct xcoff_tdata): Define.
(xcoff_data): Define.
* bfd.c (struct _bfd): Add xcoff_obj_data field to tdata union.
* bfd-in2.h, libcoff.h: Rebuild.
* coff-rs6000.c (xcoff_mkobject): New static function.
(coff_mkobject): Define.
(xcoff_copy_private_bfd_data): New static function.
(coff_bfd_copy_private_bfd_data): Define.
(rs6000coff_howto_table): Change R_TOC complain_on_overflow from
signed to bitfield.
(rs6000coff_vec): Add DYNAMIC to object_flags.
* coffcode.h (sec_to_styp_flags): If RS6000COFF_C, handle .pad and
.loader sections specially.
(coff_new_section_hook): If RS6000COFF_C, get the .text and .data
section alignment from the XCOFF tdata information.
(coff_mkobject_hook): If RS6000COFF_C, set DYNAMIC based on
F_SHROBJ, and copy the extra a.out header information into the
XCOFF tdata structure.
(coff_write_object_contents): If RS6000COFF_C, set F_SHROBJ,
F_DYNLOAD and the extra a.out header information.
(coff_slurp_symbol_table): Set BSF_NOT_AT_END for a C_EXT or
C_HIDEXT symbol with attached csect information.
* coffswap.h (coff_swap_aouthdr_in): If RS6000COFF_C, swap
in the o_maxdata field.
(coff_swap_aouthdr_out): If RS6000COFF_C, swap extra XCOFF fields.
* coffgen.c (coff_renumber_symbols): Don't move any symbol to the
end if BSF_NOT_AT_END is set.
Diffstat (limited to 'bfd/coffgen.c')
-rw-r--r-- | bfd/coffgen.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/bfd/coffgen.c b/bfd/coffgen.c index 0df46b7..2f36447 100644 --- a/bfd/coffgen.c +++ b/bfd/coffgen.c @@ -487,11 +487,10 @@ coff_renumber_symbols (bfd_ptr, first_undef) } bfd_ptr->outsymbols = newsyms; for (i = 0; i < symbol_count; i++) - if (!bfd_is_und_section (symbol_ptr_ptr[i]->section) - && ((symbol_ptr_ptr[i]->flags & (BSF_GLOBAL - | BSF_NOT_AT_END - | BSF_FUNCTION)) - != BSF_GLOBAL)) + if ((symbol_ptr_ptr[i]->flags & BSF_NOT_AT_END) != 0 + || (!bfd_is_und_section (symbol_ptr_ptr[i]->section) + && ((symbol_ptr_ptr[i]->flags & (BSF_GLOBAL | BSF_FUNCTION)) + != BSF_GLOBAL))) *newsyms++ = symbol_ptr_ptr[i]; for (i = 0; i < symbol_count; i++) @@ -505,7 +504,8 @@ coff_renumber_symbols (bfd_ptr, first_undef) *first_undef = newsyms - bfd_ptr->outsymbols; for (i = 0; i < symbol_count; i++) - if (bfd_is_und_section (symbol_ptr_ptr[i]->section)) + if ((symbol_ptr_ptr[i]->flags & BSF_NOT_AT_END) == 0 + && bfd_is_und_section (symbol_ptr_ptr[i]->section)) *newsyms++ = symbol_ptr_ptr[i]; *newsyms = (asymbol *) NULL; symbol_ptr_ptr = bfd_ptr->outsymbols; |