Port-hppa archive

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

[Re: [patch] Add NetBSD/hppa target]

Hi folks, we never upstreamed the GCC target, and now with the new QEMU
support, I thought it's a good time to do it.

A discussion came up on ABI choices on gcc-patches:

----- Forwarded message from John David Anglin <dave.anglin%bell.net@localhost> -----
On 2019-06-14 12:02 p.m., Jeff Law wrote:
>> diff --git a/gcc/config.gcc b/gcc/config.gcc
>> index 76bb316942d..ba93bb41ec8 100644
>> --- a/gcc/config.gcc
>> +++ b/gcc/config.gcc
>> @@ -1481,6 +1481,14 @@ hppa*-*-openbsd*)
>>  	gas=yes
>>  	gnu_ld=yes
>>  	;;
>> +hppa*-*-netbsd*)
>> +	target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
> Any reason to not use the PA 2.0 ISA?   I'm virtually certain we
> supported the 32bit ABI running on PA 2.0 hardware in hpbsd (which is
> where the netbsd PA code is ultimately derived from).   I'd be really
> surprised if there's any PA1.1 hardware running anywhere, though there's
> certainly some PA2.0 hardware out in the wild.
You might also consider adding MASK_CALLER_COPIES as libgomp is broken for callee
copies.  This is an ABI choice so ideally you should do it now or not at all.

----- End forwarded message -----

From GCC's sources:

           Generate code that assumes the target has no space registers.  This
           allows GCC to generate faster indirect calls and use unscaled index
           address modes.

           Such code is suitable for level 0 PA systems and kernels.

/* Implement TARGET_CALLEE_COPIES.  The callee is responsible for copying
   arguments passed by hidden reference in the 32-bit HP runtime.  Users
   can override this behavior for better compatibility with openmp at the
   risk of library incompatibilities.  Arguments are always passed by value
   in the 64-bit HP runtime.  */

These could introduce binary compatibility problems, but it's not my
call to make.


Home | Main Index | Thread Index | Old Index