-
Notifications
You must be signed in to change notification settings - Fork 17.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmd/link: dwarf compression broke mips builder #25939
Comments
Sigh. I watched the builders, but I guess not for long enough. As best as I can tell, this is a bug in GDB on the mips builder. I built a binary on a mips gomote. On mips, GDB fails to read it, but readelf works fine. And everything I try (gdb, readelf, dwarfdump) on my amd64 workstation is happy too. @ianlancetaylor, I think you're somewhat familiar with libbfd, any guesses as to what's going on here? Invalid operation is
I think I'll just skip the test on mips? |
Change https://golang.org/cl/119539 mentions this issue: |
|
objdump -f:
readelf -e: ELF Header: Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, big endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: MIPS R3000 Version: 0x1 Entry point address: 0x6da10 Start of program headers: 52 (bytes into file) Start of section headers: 276 (bytes into file) Flags: 0x50001004, cpic, o32, mips32 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 7 Size of section headers: 40 (bytes) Number of section headers: 24 Section header string table index: 3 |
Thanks. Unfortunately I don't see anything. It's somewhat surprising that objdump works if gdb fails in this way. I don't know what is going on. |
Thanks, all the other architectures are fine so I'm not inclined to stress about it. |
For what it is worth, attaching output from dumping an object compiled with "clang --target=mips-linux -c -g -gz=zlib-gnu". One difference is that the dwarf section types are MIPS_DWARF and not PROGBITS (no idea whether that actually matters). readelf -e: ELF Header: Magic: 7f 45 4c 46 01 02 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, big endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: REL (Relocatable file) Machine: MIPS R3000 Version: 0x1 Entry point address: 0x0 Start of program headers: 0 (bytes into file) Start of section headers: 2188 (bytes into file) Flags: 0x70001005, noreorder, cpic, o32, mips32r2 Size of this header: 52 (bytes) Size of program headers: 0 (bytes) Number of program headers: 0 Size of section headers: 40 (bytes) Number of section headers: 28 Section header string table index: 1 |
That's interesting but I don't get why objdump would be inconsistent about it depending on the host platform. I'm gonna wait for someone who actually has access to a mips machine to complain about this; working with gomote is pretty painful. |
Starting with https://go-review.googlesource.com/c/go/+/118276, the mips builder is red.
The text was updated successfully, but these errors were encountered: