This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, testsuite] Don't run SREC, IHEX and TEKHEX tests for MIPS N64.


On 07/03/2013 05:35 PM, Maciej W. Rozycki wrote:
On Wed, 3 Jul 2013, Luis Machado wrote:

if [istarget "alpha*-*-*"] then {
      # SREC etc cannot handle 64-bit addresses.  Force the test
      # program into the low 31 bits of the address space.
      lappend options "additional_flags=-Wl,-taso"
}

(For MIPS N64, if you wanted, I guess you could do similarly
   to Alpha, and rebuild with:

    lappend options "ldflags=-Wl,-Tdata=0x600000"

   to force use of low addresses.)
[...]

As for MIPS, attempting to force the use of low addresses, just like alpha,
seems to do more than what the tools expect at the moment, and i get a SIGSEGV
in the dynamic loader.

  Hmm, while (unlike Alpha's -taso option) there is no way to force an
entire n64 MIPS process into the 31-bit address space, the dynamic
executable itself should work just fine mapped low.  However the default
linker script relies on the start address of the text (0x120000000, unless
overridden) rather than data segment to get things right and moving the
linker's output address pointer backwards in the middle of the binary
being linker may yield strange results.  Can you try (or have you tried)
-Ttext=... instead?

I don't see a segfault with Ttext, but the text addresses are still based on 0x120000000.

Luis


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]