http://bugme.osdl.org/show_bug.cgi?id=702
Summary: EXPORT_SYMBOL and depmod don't work well together with
GCC 3.2.2
Kernel Version: 2.5.67
Status: NEW
Severity: low
Owner: bugme-janitors@lists.osdl.org
Submitter: gmmapowell@yahoo.com
Distribution: Redhat, modified
Hardware Environment: i386
Software Environment: GCC 3.2.2, modutils 2.4.25
Problem Description:
Disclaimer: as noted above, I'm using gcc 3.2.2, which isn't the top
recommendation, and I think that's the immediate cause of the problem, but I
think nevertheless GCC 3.2.2 has it right, and we're currently relying on a bug.
When I build modules and pass them to depmod, it gives me a bevy of unresolved
symbols which are found in other modules. When I do an nm on them, I get
something like the following:
00000028 ? __ksymtab_NS8390_init
00000008 ? __ksymtab_ei_close
00000010 ? __ksymtab_ei_interrupt
00000000 ? __ksymtab_ei_open
00000018 ? __ksymtab_ei_tx_timeout
00000020 ? __ksymtab_ethdev_init
When depmod comes across these, it does not accept them because of the line
if (objsym->secidx == ksymtab &&
ELFW(ST_BIND)(objsym->info) == STB_GLOBAL)
and these symbols _aren't_ global because in the header file linux/module.h they
are defined as static.
-
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 : Thu May 15 2003 - 22:00:37 EST