[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#745116: src:gcc-4.8: DEB_CROSS_NO_BIARCH=yes ignored for DEB_TARGET_ARCH=hppa



On 18-Apr-14, at 10:43 PM, Matthias Klose wrote:

Control: tags -1 - patch

Am 18.04.2014 08:19, schrieb Helmut Grohne:
Package: src:gcc-4.8
Version: 4.8.2-19
Severity: normal
Tags: patch
User: helmutg@debian.org
Usertags: rebootstrap

I noticed that a DEB_TARGET_ARCH=hppa build with DEB_CROSS_NO_BIARCH=yes
would try to build for hppa64 as well. The attached patch flips the
default of with_hppa64 for this particular case.

this is not biarch, but a cross compiler. So what you need to do is to make sure that you are able to build a canadian cross (cross-building the cross compiler). Just omitting to build the hppa64 cross-compiler would leave you without a
compiler to build the kernel.


Is this a bug?

Matthias is correct. The hppa64 applications from GCC and binutils are Canadian cross compilers using the 32-bit Linux runtime. This is not the case on HP- UX where 64-bit native
binutils applications are built.

The 32 and 64-bit code generation is not biarch in HP-UX. This is because there are significant differences between the SOM and ELF object formats in the two runtimes. There is no SOM linker in binutils. Merging the GCC code would require significant changes to some macro defines used throughout all of GCC (i.e., this would touch more than hppa).

The 64-bit compiler and binutils tools are required because certain PA- RISC machines
only support 64-bit kernel code.

For Linux, it might be possible to merge the 32 and 64-bit tools but it's a fair bit of work. I did some work on binutils a few years ago to make the 32 and 64-bit code more similar.

There is currently no 64-bit glibc port or syscall interface. James Bottomley has done a bit of work on this but he hasn't made it publicly available. I tend to think a 64-bit Linux
runtime would yield more benefit than tool chain integration.

Dave
--
John David Anglin	dave.anglin@bell.net


Reply to: