This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/31990] udivdi3 not found for linux kernel
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 May 2007 20:59:30 -0000
- Subject: [Bug target/31990] udivdi3 not found for linux kernel
- References: <bug-31990-11706@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from pinskia at gcc dot gnu dot org 2007-05-18 21:59 -------
(In reply to comment #4)
> Andy!
Don't call me Andy! It is childish.
> Taking your your advice to calm down I looked for the built-in.c file you
> wanted preprocessed. Well, it does not exist as built-in.o is a composite
> object file.
And how do I know that from your descirption of the bug? As you just have:
kernel/built-in.o: In function `getnstimeofday':
(.text+0x1e48d): undefined reference to `__udivdi3'
Which is why I was asking for built-in.i because I thought like a normal code,
it was a normal object file and not an incremental linked one.
> The Kernel peoople being a more helpful and b) having more expertise asked for
> time.s and timekeeping.s out out time.c and timekeeping.c. I attached already
> both
> to PR8501. and you can take it from there.
So attach time.i and timekeeping.i here which is exactly what we need. Note
this is really only a missed optimization for GCC wise as if we call __udivdi3
now instead of doing it inlined, the code is just slower, libgcc contains
__udivdi3. So the kernel needs to add the function but we can also fix GCC so
we don't produce that for a missed optimization
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31990