This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC PATCH, go]: Port to ALPHA arch
- From: Ian Lance Taylor <iant at google dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org, gofrontend-dev at googlegroups dot com
- Date: Fri, 1 Apr 2011 16:09:02 -0700
- Subject: Re: [RFC PATCH, go]: Port to ALPHA arch
- References: <AANLkTikMD9q6cEQydogPkTZ6ohhrRTgSHxe5Z-hyoMmF@mail.gmail.com>
On Wed, Mar 30, 2011 at 12:58 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>
> Attached ports go to ALPHA architecture.
Thanks!
Committed.
> b) alpha doesn't define "struct user_regs_struct" from which "type
> PtraceRegs" is derived. I have manually created PtraceRegs from
> pt_regs structure and patched generated libgo/sysinfo.go in build
> directory after the build broke. However - the comment from sys/user.h
> says that this file is for GDB and GDB only...
libgo uses it to support ptrace, which in effect is the same as what
gdb does. If mksysinfo.sh is unable to provide any definition for the
structure, then the choices are either to patch up mksysinfo.sh so
that it works, or to simply define the structure in
libgo/syscalls/syscall_linux_alpha.go. it is unlikely to change so
the latter seems acceptable if patching mksysinfo is too hard.
> c) some weird issue with double definition of "const _SOCK_NONBLOCK"
> in gen-sysinfo.go and consequently sysinfo.go.
The code in gcc/godump.c uses a hash table to keep this from
happening; I'm not sure why that is not working in this case. Is
SOCK_NONBLOCK both a #define macro and an enum value?
> The test results from "make -k check" in libgo directory are quite encouraging:
Yes.
> FAIL: cmath
> panic: runtime error: integer divide by zero or floating point error
This is peculiar--it looks like there is something systematically
causing a division by zero. I wonder what it could be.
Ian