On Nov 22, 9:26am, c...@chuq.com (Chuck Silvers) wrote: -- Subject: Re: CVS commit: src/lib/libc/arch/vax
| I haven't looked into that since we talked about it before. | I thought you were going to investigate? I am investigating, but being a gcc internals novice it is taking some time. I have made some progress, in final.c: case PLUS: /* Some assemblers need integer constants to appear last (eg masm). */ if (CONST_INT_P (XEXP (x, 0))) { output_addr_const (file, XEXP (x, 1)); if (INTVAL (XEXP (x, 0)) >= 0) fprintf (file, "+"); output_addr_const (file, XEXP (x, 0)); } else { -> output_addr_const (file, XEXP (x, 0)); if (!CONST_INT_P (XEXP (x, 1)) || INTVAL (XEXP (x, 1)) >= 0) fprintf (file, "+"); output_addr_const (file, XEXP (x, 1)); } Where the arrow is, XEXP(x, 0) is a register rtl. Now I am tracking down where the PLUS rtl got generated. | I've seen several other problems with gcc-4.5 on vax: | - ld crashes (run natively, it works fine as a tool on an amd64 host) | - vi dumps core on startup | - c++ exceptions crash in the exception-handling code | | I haven't investigated any of these. it's rather depressing. No worries, we'll fix them. I am thankful that you fixed the vfork() problem because that was a show-stopper for me using the emulator. Now that I can do that, I can probably get the new gdb working which could be some help [as well as debug the native problems]. Best, christos