From 97f0a0ecf68bc21371bd16611e6ae3155dad3642 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 9 Oct 2007 16:01:43 +0000 Subject: [PATCH] * libc/sys/linux/dl/do-lookup.h (FCT): Support symbols with the STT_COMMON type. --- newlib/ChangeLog | 5 +++++ newlib/libc/sys/linux/dl/do-lookup.h | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/newlib/ChangeLog b/newlib/ChangeLog index c9456fec8..56c2e40ec 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,8 @@ +2007-10-09 Nick Clifton + + * libc/sys/linux/dl/do-lookup.h (FCT): Support symbols with + the STT_COMMON type. + 2007-10-09 Ben Elliston * libm/machine/spu/headers/acosd2.h: Include spu_intrinsics.h diff --git a/newlib/libc/sys/linux/dl/do-lookup.h b/newlib/libc/sys/linux/dl/do-lookup.h index b9364b95d..37718ce6c 100644 --- a/newlib/libc/sys/linux/dl/do-lookup.h +++ b/newlib/libc/sys/linux/dl/do-lookup.h @@ -83,9 +83,10 @@ FCT (const char *undef_name, unsigned long int hash, const ElfW(Sym) *ref, (type_class & (sym->st_shndx == SHN_UNDEF))) continue; - if (ELFW(ST_TYPE) (sym->st_info) > STT_FUNC) - /* Ignore all but STT_NOTYPE, STT_OBJECT and STT_FUNC entries - since these are no code/data definitions. */ + if (ELFW(ST_TYPE) (sym->st_info) > STT_FUNC + && ELFW(ST_TYPE) (sym->st_info) != STT_COMMON) + /* Ignore all but STT_NOTYPE, STT_OBJECT, STT_COMMON and + STT_FUNC entries since these are no code/data definitions. */ continue; if (sym != ref && strcmp (strtab + sym->st_name, undef_name))