[openib-general] Re: .toc is not generated for indexing service module

Heiko J Schick schihei at de.ibm.com
Tue Mar 28 01:52:01 PST 2006


Hello Sean,

I agree -- we have to understand this problem better. That's why I proposed
it as "first workaround". The problem only occurs on PPC64 and only for the
Linux 2.6.16 build process -- I was told that for SLES 9 (Linux 2.6.5) it
works.

Following you will find the Linux 2.6.16 compile options. I will do more
investigation why the .toc is not generated:

gcc -m64 -Wp,-MD,/home/schickhj/ibt-HEAD/linstack/svnehca/linux-2.6.16/drivers/infiniband/core/.index.o.d
         -nostdinc
         -isystem /usr/lib/gcc-lib/powerpc-suse-linux/3.3.3/include
         -D__KERNEL__
         -Iinclude
         -include include/linux/autoconf.h
         -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs
         -fno-strict-aliasing
         -fno-common
         -ffreestanding -O2
         -fomit-frame-pointer
         -msoft-float
         -pipe
         -mminimal-toc
         -mtraceback=none
         -mcall-aixdesc
         -mtune=power4
         -mno-altivec
         -funit-at-a-time
         -mstring
         -Wa,
         -maltivec
         -Idrivers/infiniband/include -Idrivers/infiniband/ulp/ipoib
         -DMODULE
         -D"KBUILD_STR(s)=#s"
         -D"KBUILD_BASENAME=KBUILD_STR(index)"
         -D"KBUILD_MODNAME=KBUILD_STR(findex)" -c -o /home/schickhj/ibt-HEAD/linstack/svnehca/linux-2.6.16/drivers/infiniband/core
/.tmp_index.o /home/schickhj/ibt-HEAD/linstack/svnehca/linux-2.6.16/drivers/infiniband/core/index.c
TEMP (END)

Sean Hefty wrote:
> Heiko J Schick wrote:
> 
>> it seems that the "indexing service" module (index.c) doesn't call any
>> external functions. In that case, the .toc will not be generated on PPC64
>> and the file linux/arch/powerpc/kernel/module_64.c will not load the 
>> module,
>> because of a missing .toc entry in the ELF section. You can see it in the
>> following output:
> 
> 
> In general, I don't have a problem adding a printk statement to the 
> code, but I'd like to understand the problem better.
> 
> Is this problem limited to PPC64?  Does the index code have some other 
> issue with it?  It makes calls to kzalloc, memcmp, kfree, and memset.  
> Do those calls not work for this case?
> 
> - Sean
> 




More information about the general mailing list