All of lore.kernel.org
 help / color / mirror / Atom feed
* Correct goarch.sh settings for gccgo on hppa?
@ 2022-11-25 18:00 matoro
  2022-11-25 18:31 ` Helge Deller
  2022-11-25 18:45 ` John David Anglin
  0 siblings, 2 replies; 11+ messages in thread
From: matoro @ 2022-11-25 18:00 UTC (permalink / raw)
  To: linux-parisc; +Cc: Ian Lance Taylor, hppa

Hi, I was recommended to ask here but I'm trying to enable gccgo to run 
on parisc, however I am not sure what the proper values should be for 
the arch configuration settings.  The description is as follows:

# Code in Makefile.am will invoke this script with two arguments.
# The first is a GOARCH value.  The second is a keyword.
# The script will print the value of that keyword for that GOARCH.
# Keywords:
# - bigendian: true or false
# - cachelinesize: the cache line size in bytes
#	(for performance only; it's not essential to get this right)
# - defaultphyspagesize: the default physical page size in bytes
#	(not currently used, but maybe some day)
# - family: the processor family, from ALLGOARCHFAMILY in configure.ac
# - int64align: alignment of int64 type in bytes
# - maxalign: maximum alignment of values of Go types in bytes
# - minframesize: size of smallest possible function frame in bytes
#	(not currently used, may never be used)
# - pcquantum: minimum size of a single instruction in bytes
# - ptrsize: size of a pointer in bytes

There is also an undocumented "stackalign" variable.

# Default values
bigendian=false
cachelinesize=64
defaultphyspagesize=4096
family=unknown
int64align=8
maxalign=8
minframesize=0
pcquantum=1
ptrsize=8
stackalign=8

This was what I first attempted to set, according to a brief skim of the 
ISA manual:

diff --git a/libgo/goarch.sh b/libgo/goarch.sh
index 977f318b3..ed40815ac 100755
--- a/libgo/goarch.sh
+++ b/libgo/goarch.sh
@@ -88,6 +88,16 @@ case $goarch in
  		;;
  	esac
  	;;
+    hppa)
+	family=HPPA
+	bigendian=true
+	defaultphyspagesize=4096
+	minframesize=16
+	int64align=8
+	stackalign=4
+	pcquantum=4
+	ptrsize=4
+	;;
      ia64)
  	family=IA64
  	cachelinesize=128

However this was clearly wrong, because while it did build, the 
resulting binary immediately segfaults.

unexpected fault address 0x33d8effc
fatal error: fault
[signal SIGSEGV: segmentation violation code=0x1 addr=0x33d8effc 
pc=0xf58f4284]

goroutine 4 [running]:
runtime.dopanic__m
	/var/tmp/portage/sys-devel/gcc-12.2.1_p20221008/work/gcc-12-20221008/libgo/go/runtime/panic.go:1207
runtime.fatalthrow
	/var/tmp/portage/sys-devel/gcc-12.2.1_p20221008/work/gcc-12-20221008/libgo/go/runtime/panic.go:1073
runtime.throw
	/var/tmp/portage/sys-devel/gcc-12.2.1_p20221008/work/gcc-12-20221008/libgo/go/runtime/panic.go:1044
runtime.sigpanic
	/var/tmp/portage/sys-devel/gcc-12.2.1_p20221008/work/gcc-12-20221008/libgo/go/runtime/signal_unix.go:714
net_1http.connectMethod.scheme
	/var/tmp/portage/sys-devel/gcc-12.2.1_p20221008/work/gcc-12-20221008/libgo/go/net/http/transport.go:1829
net_1http.Transport.dialConn
	/var/tmp/portage/sys-devel/gcc-12.2.1_p20221008/work/gcc-12-20221008/libgo/go/net/http/transport.go:1612
net_1http.Transport.dialConnFor
	/var/tmp/portage/sys-devel/gcc-12.2.1_p20221008/work/gcc-12-20221008/libgo/go/net/http/transport.go:1449
runtime.kickoff
	/var/tmp/portage/sys-devel/gcc-12.2.1_p20221008/work/gcc-12-20221008/libgo/go/runtime/proc.go:1316
created by net_1http.Transport.queueForDial
	/var/tmp/portage/sys-devel/gcc-12.2.1_p20221008/work/gcc-12-20221008/libgo/go/net/http/transport.go:1418 
+0x37b


Is there anybody who might be able to advise on what these values should 
be for parisc?

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-11-28 21:24 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-25 18:00 Correct goarch.sh settings for gccgo on hppa? matoro
2022-11-25 18:31 ` Helge Deller
2022-11-25 18:45 ` John David Anglin
2022-11-26  4:31   ` matoro
2022-11-26  5:25     ` Ian Lance Taylor
2022-11-26  5:39       ` matoro
     [not found]         ` <CAOyqgcWK4UhU-GhEvUo26X_UEK_GK-a1xzqr27J98HAe1J9VYg@mail.gmail.com>
2022-11-27  6:53           ` matoro
2022-11-27  8:19             ` Helge Deller
2022-11-28 20:20               ` Ian Lance Taylor
2022-11-28 21:07                 ` matoro
2022-11-28 21:24                   ` Ian Lance Taylor

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.