[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: [Re: [patch] Add NetBSD/hppa target]
On Fri, Jun 14, 2019 at 05:59:53PM +0000, coypu%sdf.org@localhost wrote:
> 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.
Eh? All PA-7xxx CPUs are 1.1 only.
Tons of classic HP workstations/servers have those, so what's Jeff
Or does he mean gcc generates code in PA 2.0/32 bit mode that is
compatible with 1.1?
> 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.
Main Index |
Thread Index |