gcc-4.3.0-0.4 and building kernel src.rpm

Jakub Jelinek jakub at redhat.com
Mon Jan 7 08:33:32 UTC 2008


On Mon, Jan 07, 2008 at 09:43:24AM +0900, John Summerfield wrote:
> >See http://gcc.gnu.org/PR32044
> >__udivdi3/__umoddi3 are in libgcc.a and gcc relies on it libgcc being
> >available, but the kernel chooses to link without libgcc - for some 
> >routines
> >it has its own counterparts, for some it chooses not to implement them at
> >all and just assumes they won't be needed.
> 
> It doesn't "assume they won't be needed," the kernel is written to be 
> self-complete.
> 
> Think a while, what place does user-space code have in the kernel?

libgcc routines are self-complete.  And on a bunch of architectures
Linux kernel is linked with libgcc.a, e.g. sh{,64}, xtensa, pa, cris,
h8300, m32r.  If you do nm on i386 libgcc.a, you'll see:
...
_divdi3.o:
0000000000000000 T __divdi3

_moddi3.o:
0000000000000000 T __moddi3

_udivdi3.o:
0000000000000000 T __udivdi3

_umoddi3.o:
0000000000000000 T __umoddi3

...
i.e. all these routines don't need anything else.

	Jakub




More information about the fedora-test-list mailing list