From a78f18dc3ab646133778c41d3a3257d0d617a448 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Thu, 5 Jul 2001 18:27:55 +0000 Subject: Fix ia64-linux binutils readelf -s testsuite failure. * syms.c (bfd_is_local_label): Return false if BSF_SECTION_SYM. --- bfd/ChangeLog | 4 ++++ bfd/syms.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'bfd') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index ab720b1..ec94ce9 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2001-07-05 Jim Wilson + + * syms.c (bfd_is_local_label): Return false if BSF_SECTION_SYM. + 2001-07-05 Nick Clifton * peicode.h (coff_swap_scnhdr_in): For sections containing diff --git a/bfd/syms.c b/bfd/syms.c index 311806e..d848918 100644 --- a/bfd/syms.c +++ b/bfd/syms.c @@ -353,7 +353,10 @@ bfd_is_local_label (abfd, sym) bfd *abfd; asymbol *sym; { - if ((sym->flags & (BSF_GLOBAL | BSF_WEAK)) != 0) + /* The BSF_SECTION_SYM check is needed for IA-64, where every label that + starts with '.' is local. This would accidentally catch section names + if we didn't reject them here. */ + if ((sym->flags & (BSF_GLOBAL | BSF_WEAK | BSF_SECTION_SYM)) != 0) return false; if (sym->name == NULL) return false; -- cgit v1.1