query_module compiling, but missing from libc.a

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Fri Feb 27 09:51:03 UTC 2009


On Fri, Feb 27, 2009 at 09:42:05AM +0100, Mikael Lund Jepsen, ICCC wrote:
> Hi all,
>
> When building uclibc with UCLIBC_LINUX_MODULE_24=y, query_module.c gets  
> compiled, but the function is missing from the library:
> When I try to compile oprofile, I get an undefined reference to  
> 'query_profile' and nm --print-armap libc.a gives no output.

What is 'query_profile' supposed to do? I don't see that function in glibc
either.. Typo?

> Shouldn't it be put in the library as long as the option is set or am I  
> missing something? I've attached my uclibc config.

$ grep _24 .config
UCLIBC_LINUX_MODULE_24=y
$ nm -D --def lib/libuClibc-0.9.30.so | grep module
0000d3a8 T create_module
0000d456 T delete_module
0000e92a T init_module
0000fc00 T query_module

> I'm trying to build oprofile with buildroot for my 2.6.23.16 kernel  
> (which I build outside buildroot). As far as I know, query_module should  
> only be needed for 2.4 kernels, but oprofile tries to build its  

Yes, it's only needed for 2.4 kernels.

> liblegacy anyway, which fails on linking query_module (oprofile  
> configured with --/with-kernel/-support).

If oprofile has no possibility to force off legacy support then fix oprofile.
Check if configury (mis-)detects your target kernelversion. Check if
there is a --disable-liblegacy, if not add one (defaulting to something
sensible for the detected kernel version, i.e. off in your case).

PS:
>TARGET_ARCH="arm"
>FORCE_OPTIONS_FOR_ARCH=y
>CONFIG_ARM_OABI=y
># CONFIG_ARM_EABI is not set
>USE_BX=y
># CONFIG_GENERIC_ARM is not set
># CONFIG_ARM610 is not set
># CONFIG_ARM710 is not set
># CONFIG_ARM7TDMI is not set
># CONFIG_ARM720T is not set
>CONFIG_ARM920T=y

I wouldn't use OABI.


More information about the uClibc mailing list