Re: [PATCH 05/10] kbuild: sort the list of symbols exported by thekernel (__ksymtab)

From: Alan Jenkins
Date: Mon Nov 23 2009 - 17:44:39 EST


Alex Chiang wrote:
Hi Alan, Rusty,

* Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx>:
Tony Luck wrote:
The sorted ksymtab breaks ia64 (and possibly ppc64 and
parisc too).

[snip]

The syntax you need for this* is:

.long @fptr(____pagevec_lru_add)
.long __kstrtab____pagevec_lru_add

Note that you must only use the @fptr(name) syntax for
function exports. Exported data items just need an address.

-Tony

* On ia64 ... powerpc and parisc might need something else.
Thanks! It doesn't sound too hard to retro-fit your suggestion.

Still, I can't help wondering if I've done this all wrong :-/. Perhaps I should avoid the assembler. Instead, I could write a tool to sort the ksymtab elf sections in-place (and mangle their relocations accordingly). That should preserve any special handling for function symbols without arch-specific special cases. It would also concentrate all the magic in one tool - rather than it being scattered between the modpost tool, mod_export.h, tmp_exports.S, and vmlinux.lds.h.

In the meantime, while Alan is deciding the proper way to fix
this, would it be possible to drop the offending patch series
from linux-next?

It makes ia64 unbootable, and has ripple-through effects, since
mmotm is based on linux-next these days.

Thanks,
/ac

Sorry, I put this off until the last minute of today. I settled on just adding @fptr as suggested. I reviewed the other arches, and I think only IA64 needs anything special here.

Alan


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/