EP405 linker error.

5 messages, 3 authors, 2003-03-31 · open the first message on its own page

EP405 linker error.

From: Toni Van Remortel <hidden>
Date: 2003-03-31 09:10:51

Hi all,

Here is what I did before:
 cd /opt
 bk clone bk://ppc.bkbits.net/linuxppc_2_4_devel linuxppc_2_4_devel
 cd linuxppc_2_4_devel
 bk -r get -q
 bk edit Makefile
 vi Makefile
 	|-> ARCH := ppc
 	|-> CROSS_COMPILE = ppc_4xx-
 	|-> AFLAGS := -D__ASSEMBLY__ $(CPPFLAGS) -Wa,-m405
 	`-> kbuild_2_4_nostdinc	:= -nostdinc $(shell $(CC) -print-search-dirs | sed -ne 's/install: \(.*\)/-I \1include/gp')
 		`-> this one is to avoid the "stdarg.h: not found" stuff in 'make dep'. This will include the ELDK headers.
 make ep405_config
 	`-> I have the EP405 board, o wonder ;-)
 make menuconfig
 	|-> Activate Unix98 PTY and /dev/pts support
 	|-> Deactivate PCI support (gave me errors)
 	`-> Deactivate I2C support (same story)
 make dep
 make zImage

And this last step gives me the following error:
 ppc_4xx-ld -T arch/ppc/vmlinux.lds -Ttext 0xc0000000 -Bstatic arch/ppc/kernel/head_4xx.o init/main.o init/version.o init/do_mounts.o \
	--start-group \
	arch/ppc/kernel/kernel.o arch/ppc/platforms/platform.o arch/ppc/mm/mm.o arch/ppc/lib/lib.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o \
	 drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/macintosh/macintosh.o drivers/media/media.o arch/ppc/4xx_io/4xx_io.o \
	net/network.o \
	/opt/linuxppc_2_4_devel/lib/lib.a \
	--end-group \
	-o vmlinux
 arch/ppc/platforms/platform.o: In function `bios_fixup':
 arch/ppc/platforms/platform.o(.text.init+0x23c): undefined reference to `early_write_config_dword'
 arch/ppc/platforms/platform.o(.text.init+0x23c): relocation truncated to fit: R_PPC_REL24 early_write_config_dword
 arch/ppc/platforms/platform.o(.text.init+0x254): undefined reference to `early_read_config_dword'
 arch/ppc/platforms/platform.o(.text.init+0x254): relocation truncated to fit: R_PPC_REL24 early_read_config_dword
 make: *** [vmlinux] Error 1

So it's a link problem at the final linkage to vmlinux. Does anybody have an idea how I can solve this one? I haven't found anything on Google.

Thanks in advance.
--
Toni Van Remortel - Scientific Researcher
D-science lab (Hogeschool Antwerpen)
Phone: +32 (0) 3 205 61 72
Fax  : +32 (0) 3 205 61 95

Current project:
LinEmb: RealTime and Embedded Linux
(http://linemb.d-sciencelab.com)

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: EP405 linker error.

From: Eugene Surovegin <hidden>
Date: 2003-03-31 09:17:30

At 01:10 AM 3/31/2003, Toni Van Remortel wrote:
....
 arch/ppc/platforms/platform.o: In function `bios_fixup':
 arch/ppc/platforms/platform.o(.text.init+0x23c): undefined reference to
`early_write_config_dword'
 arch/ppc/platforms/platform.o(.text.init+0x23c): relocation truncated to
fit: R_PPC_REL24 early_write_config_dword
 arch/ppc/platforms/platform.o(.text.init+0x254): undefined reference to
`early_read_config_dword'
 arch/ppc/platforms/platform.o(.text.init+0x254): relocation truncated to
fit: R_PPC_REL24 early_read_config_dword
 make: *** [vmlinux] Error 1

So it's a link problem at the final linkage to vmlinux. Does anybody have
an idea how I can solve this one? I haven't found anything on Google.
Most probably you have disabled PCI support.

These missing functions are defined in arch/ppc/kernel/pci.c (funny macros
at the file end)

Eugene


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: EP405 linker error.

From: Toni Van Remortel <hidden>
Date: 2003-03-31 09:35:52

On Mon, 31 Mar 2003 01:17:30 -0800
Eugene Surovegin [off-list ref] wrote:
At 01:10 AM 3/31/2003, Toni Van Remortel wrote:
....
quoted
 arch/ppc/platforms/platform.o: In function `bios_fixup':
 arch/ppc/platforms/platform.o(.text.init+0x23c): undefined reference to
`early_write_config_dword'
 arch/ppc/platforms/platform.o(.text.init+0x23c): relocation truncated to
fit: R_PPC_REL24 early_write_config_dword
 arch/ppc/platforms/platform.o(.text.init+0x254): undefined reference to
`early_read_config_dword'
 arch/ppc/platforms/platform.o(.text.init+0x254): relocation truncated to
fit: R_PPC_REL24 early_read_config_dword
 make: *** [vmlinux] Error 1

So it's a link problem at the final linkage to vmlinux. Does anybody have
an idea how I can solve this one? I haven't found anything on Google.
Most probably you have disabled PCI support.

These missing functions are defined in arch/ppc/kernel/pci.c (funny macros
at the file end)

Eugene
Correct, I disabled PCI because if I enable PCI, I got his error:

 ppc_4xx-gcc -D__KERNEL__ -I/opt/linuxppc_2_4_devel/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -I/opt/linuxppc_2_4_devel/arch/ppc -fsigned-char -msoft-float -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring -Wa,-m405   -nostdinc -I /opt/eldk/usr/lib/gcc-lib/ppc-linux/2.95.4/include -DKBUILD_BASENAME=quirks  -c -o quirks.o quirks.c
 quirks.c:693: `PCI_DEVICE_ID_ATI_RADEON_IGP' undeclared here (not in a function)
 quirks.c:693: initializer element is not constant
 quirks.c:693: (near initialization for `pci_fixups[45].device')
 make[3]: *** [quirks.o] Error 1
 make[3]: Leaving directory `/opt/linuxppc_2_4_devel/drivers/pci'
 make[2]: *** [first_rule] Error 2
 make[2]: Leaving directory `/opt/linuxppc_2_4_devel/drivers/pci'
 make[1]: *** [_subdir_pci] Error 2
 make[1]: Leaving directory `/opt/linuxppc_2_4_devel/drivers'
 make: *** [_dir_drivers] Error 2

I didn't know that there was an ATI RADEON on this EP405 ;-) How come that it seeks for that? Wrong .config?

--
Toni Van Remortel - Scientific Researcher
D-science lab (Hogeschool Antwerpen)
Phone: +32 (0) 3 205 61 72
Fax  : +32 (0) 3 205 61 95

Current project:
LinEmb: RealTime and Embedded Linux
(http://linemb.d-sciencelab.com)

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: EP405 linker error.

From: Kenneth Johansson <hidden>
Date: 2003-03-31 12:44:24

On Mon, 2003-03-31 at 11:35, Toni Van Remortel wrote:
I didn't know that there was an ATI RADEON on this EP405 ;-) How come that it seeks for that? Wrong .config?
The check is done in runtime not when you compile and you can have the
card  on any system with a pci bus.

For now just remove the line and everything will be OK since you did not
have the card.

--
Kenneth Johansson
Ericsson AB                       Tel: +46 8 719 70 20
Tellusborgsvägen  90              Fax: +46 8 719 29 45
126 25 Stockholm                  ken@switchboard.ericsson.se


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

Re: EP405 linker error.

From: Toni Van Remortel <hidden>
Date: 2003-03-31 13:05:30

On 31 Mar 2003 14:44:24 +0200
Kenneth Johansson [off-list ref] wrote:
On Mon, 2003-03-31 at 11:35, Toni Van Remortel wrote:
quoted
I didn't know that there was an ATI RADEON on this EP405 ;-) How come that it seeks for that? Wrong .config?
The check is done in runtime not when you compile and you can have the
card  on any system with a pci bus.

For now just remove the line and everything will be OK since you did not
have the card.
I commented out line 693 in drivers/pci/quirks.c and now it compiles. Thanks for the info.

--
Toni Van Remortel - Scientific Researcher
D-science lab (Hogeschool Antwerpen)
Phone: +32 (0) 3 205 61 72
Fax  : +32 (0) 3 205 61 95

Current project:
LinEmb: RealTime and Embedded Linux
(http://linemb.d-sciencelab.com)

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help