Re: 2.6-test1 : make *config doesn't work

From: Mikael Pettersson (
Date: Wed Jul 23 2003 - 07:11:50 EST

On Wed, 23 Jul 2003 12:44:07 +0200 (MEST), Bgs himself <> wrote:
>scripts/modpost.c: In function `handle_modversions':
>scripts/modpost.c:302: `STT_REGISTER' undeclared (first use in this
>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.


--- 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)
                 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)
                 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
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:49 EST