Skip to contentSkip to conversation

Announce: IA-64 cross compiler on IA-32 available

Linux-ia64 Khalid Aziz 4 participants 7 messages Jan 24, 2001 – Jan 30, 2001

lore
Share & tools
lore
#0 lore raw

I recently built the latest version of IA-64 cross compiler on IA-32 with all of the patches that have been posted on this mailing list. I have made the binaries available at <ftp://puffin.external.hp.com/pub/ia64/gcc-2.96-ia64-000717-snap001117-build2.tar.gz>. The compiler is configured to be installed under /opt/ia64. I have built and tested kernels with it. I have also built a few applications which worked. Let me know if anything is missing from this package.

---
Khalid

==================================
Khalid Aziz Linux Development Laboratory
(970)898-9214 Hewlett-Packard
[email protected] Fort Collins, CO

#1 lore raw
Quoted 7 lines · Khalid Aziz

I recently built the latest version of IA-64 cross compiler on IA-32 with all of the patches that have been posted on this mailing list. I have made the binaries available at <ftp://puffin.external.hp.com/pub/ia64/gcc-2.96-ia64-000717-snap001117-build2.tar.gz>. The compiler is configured to be installed under /opt/ia64. I have built and tested kernels with it. I have also built a few applications which worked. Let me know if anything is missing from this package.

This version of gcc invokes 'as' without a path name so it picks up the standard ia32 assembler instead of the cross assembler. This is strange, it invokes 'cc1' with the correct path but not 'as'.

/opt/ia64/bin/ia64-cygnus-linux-gcc -v -D__KERNEL__ -I/build/kaos/2.4.0-kdb-ia64/include -Wall -Wstrict-prototypes -O2 -fno-strict-aliasing -fomit-frame-pointer -pipe -ffixed-r13 -mfixed-rangeñ0-f15,f32-f127 -funwind-tables -falign-functions2 -mb-step -mconstant-gp -c -o init/main.o init/main.c
Reading specs from /opt/ia64/lib/gcc-lib/ia64-cygnus-linux/2.96-ia64-000717/specs
gcc version 2.96-ia64-000717 snap 001117
/opt/ia64/lib/gcc-lib/ia64-cygnus-linux/2.96-ia64-000717/cpp -lang-c -v -I/build/kaos/2.4.0-kdb-ia64/include -D__GNUC__=2 -D__GNUC_MINOR__– -D__GNUC_PATCHLEVEL__=0 -D__ia64 -D__ia64__ -D__linux -D__linux__ -D_LONGLONG -Dlinux -Dunix -D__LP64__ -D__ELF__ -D__ia64 -D__ia64__ -D__linux -D__linux__ -D_LONGLONG -D__linux__ -D__unix__ -D__LP64__ -D__ELF__ -D__linux -D__unix -Asystem(linux) -Acpu(ia64) -Amachine(ia64) -D__OPTIMIZE__ -Wall -Wstrict-prototypes -D__LONG_MAX__’23372036854775807L -D__KERNEL__ init/main.c | /opt/ia64/lib/gcc-lib/ia64-cygnus-linux/2.96-ia64-000717/cc1 -quiet -dumpbase main.c -mfixed-rangeñ0-f15,f32-f127 -mb-step -mconstant-gp -O2 -Wall -Wstrict-prototypes -version -fno-strict-aliasing -fomit-frame-pointer -ffixed-r13 -funwind-tables -falign-functions2 -o - |
as -x -mconstant-gp -o init/main.o -
GNU CPP version 2.96-ia64-000717 snap 001117 (cpplib)
(IA-64)
ignoring nonexistent directory "/opt/ia64/ia64-cygnus-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/build/kaos/2.4.0-kdb-ia64/include
/opt/ia64/lib/gcc-lib/ia64-cygnus-linux/2.96-ia64-000717/include
/opt/ia64/ia64-cygnus-linux/sys-include
End of search list.
GNU C version 2.96-ia64-000717 snap 001117 (ia64-cygnus-linux) compiled by GNU C version 2.95.2 20000220 (Debian GNU/Linux).
as: unrecognized option `-x'
init/main.c:207: output pipe has been closed
ia64-cygnus-linux-gcc: Internal compiler error: program cpp got fatal signal 13

#2 lore raw
In reply to Khalid Aziz
Quoted 10 lines · Keith Owens
Quoted 4 lines · Khalid Aziz

I recently built the latest version of IA-64 cross compiler on IA-32 with all of the patches that have been posted on this mailing list. I have made the binaries available at <ftp://puffin.external.hp.com/pub/ia64/gcc-2.96-ia64-000717-snap001117-build2.tar.gz>.

This version of gcc invokes 'as' without a path name so it picks up the standard ia32 assembler instead of the cross assembler. This is strange, it invokes 'cc1' with the correct path but not 'as'.

Ignore previous mail. It was a directory permission problem, several directories unpack with no execute permission for other. Q&D fix.

find /opt/ia64/ -type d | xargs chmod a+x

#3 lore raw
In reply to Khalid Aziz
Quoted 4 lines · Keith Owens

Ignore previous mail. It was a directory permission problem, several directories unpack with no execute permission for other. Q&D fix.

find /opt/ia64/ -type d | xargs chmod a+x

Thanks for finding the problem. I have fixed the directory permissions and uploaded the new tar file at <ftp://puffin.external.hp.com/pub/ia64/gcc-2.96-ia64-000717-snap001117-build3.tar.gz>

Signature · 6 lines
Khalid

==================================
Khalid Aziz                             Linux Development Laboratory
(970)898-9214                                        Hewlett-Packard
[email protected]                                    Fort Collins, CO
#4 lore raw
In reply to Khalid Aziz
Quoted 7 lines · Khalid Aziz

I recently built the latest version of IA-64 cross compiler on IA-32 with all of the patches that have been posted on this mailing list. I have made the binaries available at <ftp://puffin.external.hp.com/pub/ia64/gcc-2.96-ia64-000717-snap001117-build2.tar.gz>. The compiler is configured to be installed under /opt/ia64. I have built and tested kernels with it. I have also built a few applications which worked. Let me know if anything is missing from this package.

Did the applications you built actually run? I compiled hello world but it wouldn't run on TurboLinux release 000828 English Frontier (Burning Man) because the cross compiler linked it with /lib/ld-linux-ia64.so.2 (which points to ld-2.2.so), but the os has /lib/ld-linux-ia64.so.1 (points to ld-2.1.3.so, which is in glibc-2.1.3).

Which os issue are you using? Since most machines out there are still glibc-2.1.3, could you perhaps recompile for that (or make your src tree and build instructions available and I'll do it?)

thanks

-- Mark Goodwin
SGI Engineering.

#5 lore raw
In reply to Khalid Aziz
Quoted 7 lines

Did the applications you built actually run? I compiled hello world but it wouldn't run on TurboLinux release 000828 English Frontier (Burning Man) because the cross compiler linked it with /lib/ld-linux-ia64.so.2 (which points to ld-2.2.so), but the os has /lib/ld-linux-ia64.so.1 (points to ld-2.1.3.so, which is in glibc-2.1.3).

Quoted 9 lines

Which os issue are you using? Since most machines out there are still glibc-2.1.3, could you perhaps recompile for that (or make your src tree and build instructions available and I'll do it?)

thanks

-- Mark Goodwin
SGI Engineering.

I apologize. I should have mentioned that the libraries in that build are from TurboLinux 1123 release. I can make the sources and build instructions available. Instructions are just in my head right now. I will write them down and send an email when I have put them up on a web page.

---
Khalid

==================================
Khalid Aziz Linux Development Laboratory
(970)898-9214 Hewlett-Packard
[email protected] Fort Collins, CO

#6 lore raw
In reply to Khalid Aziz

I have placed the instructions for building the cross-compiler at <ftp://puffin.external.hp.com/pub/ia64/xgcc_build_instructions>. Please let me know if you find any errors.

Signature · 6 lines
Khalid 

==================================
Khalid Aziz                             Linux Development Laboratory
(970)898-9214                                        Hewlett-Packard
[email protected]                                    Fort Collins, CO