On Wed, 23 Jul 2003 12:44:07 +0200 (MEST), Bgs himself <bgs@callnet.hu> wrote:
>scripts/modpost.c: In function `handle_modversions':
>scripts/modpost.c:302: `STT_REGISTER' undeclared (first use in this
>function)
>scripts/modpost.c:302: (Each undeclared identifier is reported only once
>scripts/modpost.c:302: for each function it appears in.)
>make[1]: *** [scripts/modpost.o] Error 1
I reported this ages ago, but noone cared to fix it.
The problem is (a) modpost was changed to reference a SPARC-only
ELF constant, (b) modpost is compiled against the system's C
library headers instead of the kernel's, and (c) older versions
of glibc don't have this constant defined (at least not on x86).
The same bug exists in module-init-tools, btw, and hits e.g. RH62
which I have on a box designated for glibc compat testing.
The patch below works around the problem in the kernel.
/Mikael
--- linux-2.6.0-test1/scripts/modpost.c.~1~ 2003-05-05 22:56:31.000000000 +0200
+++ linux-2.6.0-test1/scripts/modpost.c 2003-07-18 00:28:08.000000000 +0200
@@ -296,12 +296,14 @@
/* ignore global offset table */
if (strcmp(symname, "_GLOBAL_OFFSET_TABLE_") == 0)
break;
+#ifdef STT_REGISTER
if (info->hdr->e_machine == EM_SPARC ||
info->hdr->e_machine == EM_SPARCV9) {
/* Ignore register directives. */
if (ELF_ST_TYPE(sym->st_info) == STT_REGISTER)
break;
}
+#endif
if (memcmp(symname, MODULE_SYMBOL_PREFIX,
strlen(MODULE_SYMBOL_PREFIX)) == 0) {
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:49 EST