[SPARC]: Deal with glibc changing macro names in modpost.c

GLIBC 2.3.4 and later changed the STT_REGISTER macro to
STT_SPARC_REGISTER, so we need to cope with that somehow.

Original patch from fabbione, reposted by Ben Collins.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ben Colline 2005-08-19 13:44:57 -07:00 коммит произвёл David S. Miller
Родитель 91aa9fb573
Коммит 8d5290149e
1 изменённых файлов: 7 добавлений и 2 удалений

Просмотреть файл

@ -359,11 +359,16 @@ handle_modversions(struct module *mod, struct elf_info *info,
/* ignore __this_module, it will be resolved shortly */ /* ignore __this_module, it will be resolved shortly */
if (strcmp(symname, MODULE_SYMBOL_PREFIX "__this_module") == 0) if (strcmp(symname, MODULE_SYMBOL_PREFIX "__this_module") == 0)
break; break;
#ifdef STT_REGISTER /* cope with newer glibc (2.3.4 or higher) STT_ definition in elf.h */
#if defined(STT_REGISTER) || defined(STT_SPARC_REGISTER)
/* add compatibility with older glibc */
#ifndef STT_SPARC_REGISTER
#define STT_SPARC_REGISTER STT_REGISTER
#endif
if (info->hdr->e_machine == EM_SPARC || if (info->hdr->e_machine == EM_SPARC ||
info->hdr->e_machine == EM_SPARCV9) { info->hdr->e_machine == EM_SPARCV9) {
/* Ignore register directives. */ /* Ignore register directives. */
if (ELF_ST_TYPE(sym->st_info) == STT_REGISTER) if (ELF_ST_TYPE(sym->st_info) == STT_SPARC_REGISTER)
break; break;
} }
#endif #endif