Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/lib/libc/arch/vax



On Nov 22,  9:26am, chuq%chuq.com@localhost (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


Home | Main Index | Thread Index | Old Index