View previous topic :: View next topic |
Author |
Message |
Lupin_the_3rd Apprentice
Joined: 03 Apr 2005 Posts: 168
|
Posted: Sat Jan 12, 2013 1:44 am Post subject: LD error after gcc upgrade on Alpha XP1000 |
|
|
Hello all, I've just emerged the latest stable gcc on my alpha. I followed the steps as in the Gentoo gcc upgrade guide:
# emerge -u gcc
# env-update && source /etc/profile
# emerge --oneshot libtool
It appears to be working:
elysium linux # gcc-config -l
[1] alpha-unknown-linux-gnu-4.6.3 *
elysium linux # gcc --version
gcc (Gentoo 4.6.3 p1.9, pie-0.5.2) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
When I try to build a kernel however, I get the following errors:
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CHK kernel/config_data.h
LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.o
WARNING: "saved_config" [vmlinux] is COMMON symbol
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
init/built-in.o: In function `do_one_initcall':
(.text+0x8): relocation truncated to fit: GPREL16 against symbol `initcall_debug' defined in .sbss section in init/built-in.o
init/built-in.o: In function `do_one_initcall':
(.text+0x64): relocation truncated to fit: GPREL16 against symbol `initcall_debug' defined in .sbss section in init/built-in.o
init/built-in.o: In function `name_to_dev_t':
(.text+0x658): relocation truncated to fit: GPREL16 against `.sbss'
init/built-in.o: In function `name_to_dev_t':
(.text+0x678): relocation truncated to fit: GPREL16 against `.sbss'
init/built-in.o: In function `set_reset_devices':
(.init.text+0x10): relocation truncated to fit: GPREL16 against symbol `reset_devices' defined in .sbss section in init/built-in.o
init/built-in.o: In function `init_setup':
(.init.text+0x5c): relocation truncated to fit: GPREL16 against `.sbss'
init/built-in.o: In function `rdinit_setup':
(.init.text+0x90): relocation truncated to fit: GPREL16 against `.sbss'
init/built-in.o: In function `unknown_bootoption':
(.init.text+0x414): relocation truncated to fit: GPREL16 against `.sbss'
init/built-in.o: In function `unknown_bootoption':
(.init.text+0x43c): relocation truncated to fit: GPREL16 against `.sbss'
init/built-in.o: In function `unknown_bootoption':
(.init.text+0x458): relocation truncated to fit: GPREL16 against `.sbss'
init/built-in.o: In function `unknown_bootoption':
(.init.text+0x45c): additional relocation overflows omitted from the output
make: *** [vmlinux] Error 1
Has anyone else experienced such a thing? And advise to resolve this?
Thank you _________________ Compaq XP1000 Alpha EV67 667Mhz w/ 2GB ECC
32bit PCI: ATI Radeon 9100 (DRI works!)
32bit PCI: Generic Firewire 400 card
64bit PCI: BCM5703 Gig-E (Compaq NC7771)
64bit PCI: Sil3124 SATA w/ mdadm RAID1 (pair of WD VelociRaptors) |
|
Back to top |
|
|
Lupin_the_3rd Apprentice
Joined: 03 Apr 2005 Posts: 168
|
Posted: Sat Jan 12, 2013 2:00 am Post subject: |
|
|
I found an answer here:
http://en.usenet.digipedia.org/thread/19006/1777/
"The relocation truncated to fit: GPREL16 against ... error is caused by the kernel being too large and compiling with -msmall-data. We've really got to do something about this -- this happens way too often to way too many people."
It's strange though, since I build this exact same kernel, exact same .config file and it built just fine without error before upgrading gcc. Weird. _________________ Compaq XP1000 Alpha EV67 667Mhz w/ 2GB ECC
32bit PCI: ATI Radeon 9100 (DRI works!)
32bit PCI: Generic Firewire 400 card
64bit PCI: BCM5703 Gig-E (Compaq NC7771)
64bit PCI: Sil3124 SATA w/ mdadm RAID1 (pair of WD VelociRaptors) |
|
Back to top |
|
|
Lupin_the_3rd Apprentice
Joined: 03 Apr 2005 Posts: 168
|
Posted: Sat Jan 12, 2013 3:29 am Post subject: |
|
|
Well, it seems I still need a solution. I've stripped just about everything I can out of the kernel. No more sound, etc. All that's left is the bare basics to make a running system, and still the compile fails with the same error... _________________ Compaq XP1000 Alpha EV67 667Mhz w/ 2GB ECC
32bit PCI: ATI Radeon 9100 (DRI works!)
32bit PCI: Generic Firewire 400 card
64bit PCI: BCM5703 Gig-E (Compaq NC7771)
64bit PCI: Sil3124 SATA w/ mdadm RAID1 (pair of WD VelociRaptors) |
|
Back to top |
|
|
Lupin_the_3rd Apprentice
Joined: 03 Apr 2005 Posts: 168
|
Posted: Sat Jan 12, 2013 3:37 am Post subject: |
|
|
Found a workaround here: http://debian.2.n7.nabble.com/gcc-4-6-msmall-data-td2133643.html
"You can change -msmall-data to -mlarge-data in arch/alpha/Makefile."
I don't know what the implications of doing this are, or why it's needed, but it made my kernel compile successfully. So at a minimum, it's a viable workaround.... _________________ Compaq XP1000 Alpha EV67 667Mhz w/ 2GB ECC
32bit PCI: ATI Radeon 9100 (DRI works!)
32bit PCI: Generic Firewire 400 card
64bit PCI: BCM5703 Gig-E (Compaq NC7771)
64bit PCI: Sil3124 SATA w/ mdadm RAID1 (pair of WD VelociRaptors) |
|
Back to top |
|
|
LinuxFreakus n00b
Joined: 23 Jan 2004 Posts: 30
|
Posted: Sat Jan 26, 2013 3:49 pm Post subject: |
|
|
I have had this happen a bunch of times when building kernels for my AS1200 as well. I also needed to use the -mlarge-data setting and didn't have issues with it, but I've also noticed that it only happens with certain kernel versions. I don't always need it, and from time to time certain kernels won't recognize my scsi controller either. |
|
Back to top |
|
|
|