From 0a40daed72632d116d8602f583f16ec2fd3f3abb Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Sun, 17 Feb 2008 23:45:23 +0000 Subject: [PATCH] * elf.c (swap_out_syms): Avoid preprocessing directive within macro arg. --- bfd/ChangeLog | 5 +++++ bfd/elf.c | 10 +++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 086b4b1..ca3b5e5 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 cce7163..b0030c7 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 -- 2.7.4