Reg. sparc64 linker error
Hi,
I am trying to port user-mode-linux(uml) to Sparc64 arch. I am running a custom built 2.4.18 kernel on debian (sid), Ultra 1 system. I have also created static links sparc64-linux-ld and sparc64-linux-as. When I build the uml sources, I am getting the following linker error:
gcc-3.0 -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -U__sparc64__ -Usparc64 -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare -Wa,--undeclared-regs -D__arch_um__ -DSUBARCH=\"sparc64\" -DNESTING=0 -D_LARGEFILE64_SOURCE -I/home/shanti/UML/UMLSparc64/arch/um/include -D_GNU_SOURCE -c -o unmap.o unmap.c
ld -r -o unmap_fin.o unmap.o -lc -L/usr/lib
ld: warning: sparc:v9 architecture of input file `unmap.o' is incompatible with sparc output
ld: BFD 2.12.90.0.1 20020307 Debian/GNU Linux assertion fail ../../bfd/elflink.h:2817
ld: final link failed: Bad value
I am using gcc-3.0 with binuitls 2.12.90.0.0.1-5. When I tried using gcc with egcs64, it gave me a bunch of parse errors. Hence, I switched to gcc-3.0. But now, I have this linker error. Any pointers in this direction would be appreciated.
Quoted 20 lines · Shanti Katta
Hi,
I am trying to port user-mode-linux(uml) to Sparc64 arch. I am running a custom built 2.4.18 kernel on debian (sid), Ultra 1 system. I have also created static links sparc64-linux-ld and sparc64-linux-as. When I build the uml sources, I am getting the following linker error:gcc-3.0 -Wall -Wstrict-prototypes -Wno-trigraphs -O2
(quoted diff) +0
-6-fomit-frame-pointer -fno-strict-aliasing -fno-common -U__sparc64__ -Usparc64 -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare -Wa,--undeclared-regs -D__arch_um__ -DSUBARCH=\"sparc64\" -DNESTING=0 -D_LARGEFILE64_SOURCE -I/home/shanti/UML/UMLSparc64/arch/um/include -D_GNU_SOURCE -c -o unmap.o unmap.cld -r -o unmap_fin.o unmap.o -lc -L/usr/lib
ld: warning: sparc:v9 architecture of input file `unmap.o' is incompatible with sparc output
ld: BFD 2.12.90.0.1 20020307 Debian/GNU Linux assertion fail../../bfd/elflink.h:2817
ld: final link failed: Bad value
Quoted 4 lines
I am using gcc-3.0 with binuitls 2.12.90.0.0.1-5. When I tried using gcc with egcs64, it gave me a bunch of parse errors. Hence, I switched to gcc-3.0. But now, I have this linker error. Any pointers in this direction would be appreciated.
gcc-3.0 may not work well. Eitherway, copy the CFLAGS/LDFLAGS from arch/sparc64/Makefile. For this example above, you are missing -m64 as an option to make it output 64bit executables.
Signature · 4 lines
Debian - http://www.debian.org/ Linux 1394 - http://linux1394.sourceforge.net/ Subversion - http://subversion.tigris.org/ Deqo - http://www.deqo.com/
Quoted 21 lines · Ben Collins
Quoted 20 lines · Shanti Katta
Hi,
I am trying to port user-mode-linux(uml) to Sparc64 arch. I am running a custom built 2.4.18 kernel on debian (sid), Ultra 1 system. I have also created static links sparc64-linux-ld and sparc64-linux-as. When I build the uml sources, I am getting the following linker error:gcc-3.0 -Wall -Wstrict-prototypes -Wno-trigraphs -O2
(quoted diff) +0
-6-fomit-frame-pointer -fno-strict-aliasing -fno-common -U__sparc64__ -Usparc64 -m64 -pipe -mno-fpu -mcpu=ultrasparc -mcmodel=medlow -ffixed-g4 -fcall-used-g5 -fcall-used-g7 -Wno-sign-compare -Wa,--undeclared-regs -D__arch_um__ -DSUBARCH=\"sparc64\" -DNESTING=0 -D_LARGEFILE64_SOURCE -I/home/shanti/UML/UMLSparc64/arch/um/include -D_GNU_SOURCE -c -o unmap.o unmap.cld -r -o unmap_fin.o unmap.o -lc -L/usr/lib
ld: warning: sparc:v9 architecture of input file `unmap.o' is incompatible with sparc output
ld: BFD 2.12.90.0.1 20020307 Debian/GNU Linux assertion fail../../bfd/elflink.h:2817
ld: final link failed: Bad value
Quoted 8 lines
Quoted 4 lines
I am using gcc-3.0 with binuitls 2.12.90.0.0.1-5. When I tried using gcc with egcs64, it gave me a bunch of parse errors. Hence, I switched to gcc-3.0. But now, I have this linker error. Any pointers in this direction would be appreciated.
gcc-3.0 may not work well. Eitherway, copy the CFLAGS/LDFLAGS from
arch/sparc64/Makefile. For this example above, you are missing -m64 as an option to make it output 64bit executables.
Oh, my mistake. The CFLAGS are fine, but the LDFLAGS aren't. Looks like it is missing "-m elf64_sparc".
Signature · 4 lines
Debian - http://www.debian.org/ Linux 1394 - http://linux1394.sourceforge.net/ Subversion - http://subversion.tigris.org/ Deqo - http://www.deqo.com/