lkml.org 
[lkml]   [2009]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] modpost: fix modules on ia64 - use @fptr() on exported function symbols
* Alan Jenkins <alan-jenkins@tuffmail.co.uk>:
> On function descriptor architectures (powerpc and ia64), we need to export
> the address of the function descriptor and not the actual function.
> The C compiler naturally does this for us. However we now export vmlinux
> symbols using the assembler, in order to sort the exports.
>
> This is not a problem on powerpc. On powerpc, the function descriptor
> is simply "printk" (the action function entry point is ".printk").
> But ia64 assembly needs special handling. The function descriptor for
> printk(), for example, is "@fptr(printk)".
>
> I have tested that modpost now generates the desired assembly code when
> run against an IA64 module. I have not tested with an actual IA64
> vmlinux, assembler, compiler or processor. I assume that the IA64
> assembler defines __ia64__, just as the i386 assembler defines __i386__.
>
> Reported-by: Alex Chiang <achiang@hp.com>

I applied this patch to a tree that had 20ba8ef1de7e77e4c
(kbuild: sort the list of symbols exported by the kernel
(__ksymtab)) as a HEAD.

Without the patch, I get a panic. With the patch, boot succeeds.

I also applied this patch on top of 9d5bf6fad2 (Add linux-next
specific files for 20091123), and verified that boot also
succeeds.

So for ia64, you can add my:

Tested-by: Alex Chiang <achiang@hp.com>

However, I've cc'ed James Bottomley who is currently testing
parisc. parsic is another function descriptor architecture, and
due to your very specific #ifdef __ia64__ in the patch, it
clearly won't fix parisc (if indeed it is broken).

James mentioned something about needing an fptr arch symbol, but
I'll let him expand on his idea.

Thanks,
/ac


\
 
 \ /
  Last update: 2009-11-24 00:27    [W:0.031 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site