diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 086b4b1096..ca3b5e5aaa 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2008-02-17 Mark Kettenis + + * elf.c (swap_out_syms): Avoid preprocessing directive within + macro arg. + 2008-02-17 Jan Kratochvil * elf.c (assign_file_positions_for_load_sections): Set the type of diff --git a/bfd/elf.c b/bfd/elf.c index cce7163605..b0030c7473 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -6378,11 +6378,15 @@ Unable to find equivalent output section for symbol '%s' from section '%s'"), sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION); } else if (bfd_is_com_section (syms[idx]->section)) - sym.st_info = ELF_ST_INFO (STB_GLOBAL, + { #ifdef USE_STT_COMMON - type == STT_OBJECT ? STT_COMMON : + if (type == STT_OBJECT) + sym.st_info = ELF_ST_INFO (STB_GLOBAL, STT_COMMON); + else +#else + sym.st_info = ELF_ST_INFO (STB_GLOBAL, type); #endif - type); + } else if (bfd_is_und_section (syms[idx]->section)) sym.st_info = ELF_ST_INFO (((flags & BSF_WEAK) ? STB_WEAK