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:
https://gcc.gnu.org/ml/gcc-patches/2019-06/threads.html#00846

----- 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:

MASK_NO_SPACE_REGS
       -mno-space-regs
           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.


MASK_CALLER_COPIES
/* 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.

Thoughts?


Home | Main Index | Thread Index | Old Index