-
Notifications
You must be signed in to change notification settings - Fork 99
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
Fail to work on s390 in Debian #19
Comments
Note, it failed on at least hppa and powerpc too. See https://buildd.debian.org/status/package.php?p=libelfin&suite=unstable for a complete list. Endian problem? |
This issue is tracked as https://bugs.debian.org/844465 in Debian. |
libelf++ supports non-native byte orders, but I never implemented this for libdwarf++. I'm not sure when I'll get around to this (patches welcome). However, a helpful first step someone else could do would be to build test/example.c on a big endian machine using |
[Austin Clements]
libelf++ supports non-native byte orders, but I never implemented this
for libdwarf++. I'm not sure when I'll get around to this (patches
welcome). However, a helpful first step someone else could do would be
to build test/example.c on a big endian machine using `gcc -g
-fdebug-prefix-map=$PWD=x example.c` (from
test/golden-gcc-4.9.2/NOTES) and post the binary and `gcc -v`.
Very glad to hear that this should work. I ran the above command on the
s390x porter box in Debian. This is gcc -v:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/s390x-linux-gnu/6/lto-wrapper
Target: s390x-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.2.1-5' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-6 --program-prefix=s390x-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libsanitizer --disable-libquadmath --enable-plugin --enable-default-pie --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-s390x/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-s390x --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-s390x --with-arch-directory=s390x --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc=auto --enable-multiarch --with-long-double-128 --enable-multilib --enable-checking=release --build=s390x-linux-gnu --host=s390x-linux-gnu --target=s390x-linux-gnu
Thread model: posix
gcc version 6.2.1 20161124 (Debian 6.2.1-5)
And this is the base64 encoding of elfin-example-s390x:
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAcgAAAAAAAABsgAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAAAAAAADAAAAAAAAAVg
AAAAAAAAAA0AAAAAAAAIkAAAAAAAAAAZAAAAAAAAHggAAAAAAAAAGwAAAAAAAAAIAAAAAAAAABoA
AAAAAAAeEAAAAAAAAAAcAAAAAAAAAAgAAAAAb//+9QAAAAAAAAKQAAAAAAAAAAUAAAAAAAADkAAA
AAAAAAAGAAAAAAAAArgAAAAAAAAACgAAAAAAAACPAAAAAAAAAAsAAAAAAAAAGAAAAAAAAAAVAAAA
AAAAAAAAAAAAAAAAAwAAAAAAACAAAAAAAAAAAAIAAAAAAAAAMAAAAAAAAAAUAAAAAAAAAAcAAAAA
AAAAFwAAAAAAAAUwAAAAAAAAAAcAAAAAAAAEWAAAAAAAAAAIAAAAAAAAANgAAAAAAAAACQAAAAAA
AAAYAAAAAG////sAAAAACAAAAAAAAABv///+AAAAAAAABDgAAAAAb////wAAAAAAAAABAAAAAG//
//AAAAAAAAAEIAAAAABv///5AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4g
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXOAAAAAAAABe4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAH4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBgR0NDOiAoRGViaWFuIDYuMi4x
LTUpIDYuMi4xIDIwMTYxMTI0AAAAACwAAgAAAAAIAAAAAAAAAAAAAAAHaAAAAAAAAAC4AAAAAAAA
AAAAAAAAAAAAAAAAAK0ABAAAAAAIAQAAAAAMAAAAQngAAAAAAAAAB2gAAAAAAAAAuAAAAAACAAAA
PQEIAAAAawAAAAAAAAfgAAAAAAAAAEABnAAAAGsDAAAAMwEIAAAAawOR3H4DAAAATAEIAAAAcgOR
0H4ABAQFaW50AAUIAAAAeAUIAAAAfgYBCAAAADgHZmliAAEBAAAAawAAAAAAAAdoAAAAAAAAAHgB
nAh4AAEBAAAAawOR3H4AAAERASUOEwsDDhsIEQESBxAXAAACLgE/GQMOOgs7CycZSRMRARIHQBiW
QhkBEwAAAwUAAw46CzsLSRMCGAAABCQACws+CwMIAAAFDwALC0kTAAAGJAALCz4LAw4AAAcuAT8Z
Awg6CzsLJxlJExEBEgdAGJZCGQAACAUAAwg6CzsLSRMCGAAAAAAAAEQAAgAAACABAfsODQABAQEB
AAAAAQAAAQBleGFtcGxlLmMAAAAAAAAJAgAAAAAAAAdoEwhZu4MCPBMIIwitCCECEgABAUdOVSBD
MTEgNi4yLjEgMjAxNjExMjQgLW02NCAtbXphcmNoIC1tYXJjaD16OTAwIC1nAGFyZ2MAY2hhcgBt
YWluAGV4YW1wbGUuYwBhcmd2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAEAAAAA
AAACOAAAAAAAAAAAAAAAAAMAAAIAAAAAAAACSAAAAAAAAAAAAAAAAAMAAAMAAAAAAAACaAAAAAAA
AAAAAAAAAAMAAAQAAAAAAAACkAAAAAAAAAAAAAAAAAMAAAUAAAAAAAACuAAAAAAAAAAAAAAAAAMA
AAYAAAAAAAADkAAAAAAAAAAAAAAAAAMAAAcAAAAAAAAEIAAAAAAAAAAAAAAAAAMAAAgAAAAAAAAE
OAAAAAAAAAAAAAAAAAMAAAkAAAAAAAAEWAAAAAAAAAAAAAAAAAMAAAoAAAAAAAAFMAAAAAAAAAAA
AAAAAAMAAAsAAAAAAAAFYAAAAAAAAAAAAAAAAAMAAAwAAAAAAAAFoAAAAAAAAAAAAAAAAAMAAA0A
AAAAAAAGAAAAAAAAAAAAAAAAAAMAAA4AAAAAAAAIkAAAAAAAAAAAAAAAAAMAAA8AAAAAAAAIwAAA
AAAAAAAAAAAAAAMAABAAAAAAAAAI4AAAAAAAAAAAAAAAAAMAABEAAAAAAAAJEAAAAAAAAAAAAAAA
AAMAABIAAAAAAAAeCAAAAAAAAAAAAAAAAAMAABMAAAAAAAAeEAAAAAAAAAAAAAAAAAMAABQAAAAA
AAAeGAAAAAAAAAAAAAAAAAMAABUAAAAAAAAeIAAAAAAAAAAAAAAAAAMAABYAAAAAAAAgAAAAAAAA
AAAAAAAAAAMAABcAAAAAAAAgWAAAAAAAAAAAAAAAAAMAABgAAAAAAAAgaAAAAAAAAAAAAAAAAAMA
ABkAAAAAAAAAAAAAAAAAAAAAAAAAAAMAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAMAABsAAAAAAAAA
AAAAAAAAAAAAAAAAAAMAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAB0AAAAAAAAAAAAAAAAAAAAA
AAAAAAMAAB4AAAAAAAAAAAAAAAAAAAAAAAAAAQQA//EAAAAAAAAAAAAAAAAAAAAAAAAADAEAABQA
AAAAAAAeGAAAAAAAAAAAAAAAGQIAAA0AAAAAAAAGSAAAAAAAAAAAAAAAGwIAAA0AAAAAAAAGgAAA
AAAAAAAAAAAALgIAAA0AAAAAAAAGyAAAAAAAAAAAAAAARAEAABgAAAAAAAAgaAAAAAAAAAABAAAA
UwEAABMAAAAAAAAeEAAAAAAAAAAAAAAAegIAAA0AAAAAAAAHIAAAAAAAAAAAAAAAhgEAABIAAAAA
AAAeCAAAAAAAAAAAAAAApQQA//EAAAAAAAAAAAAAAAAAAAAAAAAAAQQA//EAAAAAAAAAAAAAAAAA
AAAAAAAArwEAABEAAAAAAAAJ4AAAAAAAAAAAAAAAvQEAABQAAAAAAAAeGAAAAAAAAAAAAAAAAAQA
//EAAAAAAAAAAAAAAAAAAAAAAAAAyQAAABIAAAAAAAAeEAAAAAAAAAAAAAAA2gEA//EAAAAAAAAe
IAAAAAAAAAAAAAAA4wAAABIAAAAAAAAeCAAAAAAAAAAAAAAA9gAAABAAAAAAAAAI4AAAAAAAAAAA
AAABCQEA//EAAAAAAAAgAAAAAAAAAAAAAAABHxIAAA0AAAAAAAAIiAAAAAAAAAACAAABLyIAAAAA
AAAAAAAAAAAAAAAAAAAAAAABSSAAAAAAAAAAAAAAAAAAAAAAAAAAAAABbiAAABcAAAAAAAAgWAAA
AAAAAAAAAAABZRAAABcAAAAAAAAgaAAAAAAAAAAAAAABKRIAAA4AAAAAAAAIkAAAAAAAAAAAAAAB
bBAAABcAAAAAAAAgWAAAAAAAAAAAAAABeSAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiBECABcAAAAA
AAAgYAAAAAAAAAAAAAABlREAAA8AAAAAAAAIwAAAAAAAAAAEAAABpBIAAAAAAAAAAAAAAAAAAAAA
AAAAAAABwRIAAA0AAAAAAAAIIAAAAAAAAABkAAAA1RAAABgAAAAAAAAgcAAAAAAAAAAAAAABchIA
AA0AAAAAAAAGAAAAAAAAAAAAAAAB0RAAABgAAAAAAAAgaAAAAAAAAAAAAAAB3RIAAA0AAAAAAAAH
4AAAAAAAAABAAAAB4hIAAA0AAAAAAAAHaAAAAAAAAAB4AAAB5iAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAB+hECABcAAAAAAAAgaAAAAAAAAAAAAAACBiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByxIAAAsA
AAAAAAAFYAAAAAAAAAAAAGNydHN0dWZmLmMAX19KQ1JfTElTVF9fAGRlcmVnaXN0ZXJfdG1fY2xv
bmVzAF9fZG9fZ2xvYmFsX2R0b3JzX2F1eABjb21wbGV0ZWQuNjYxNQBfX2RvX2dsb2JhbF9kdG9y
c19hdXhfZmluaV9hcnJheV9lbnRyeQBmcmFtZV9kdW1teQBfX2ZyYW1lX2R1bW15X2luaXRfYXJy
YXlfZW50cnkAZXhhbXBsZS5jAF9fRlJBTUVfRU5EX18AX19KQ1JfRU5EX18AX19pbml0X2FycmF5
X2VuZABfRFlOQU1JQwBfX2luaXRfYXJyYXlfc3RhcnQAX19HTlVfRUhfRlJBTUVfSERSAF9HTE9C
QUxfT0ZGU0VUX1RBQkxFXwBfX2xpYmNfY3N1X2ZpbmkAX19jeGFfZmluYWxpemVAQEdMSUJDXzIu
MgBfSVRNX2RlcmVnaXN0ZXJUTUNsb25lVGFibGUAX2VkYXRhAF9fZGF0YV9zdGFydABfX2dtb25f
c3RhcnRfXwBfX2Rzb19oYW5kbGUAX0lPX3N0ZGluX3VzZWQAX19saWJjX3N0YXJ0X21haW5AQEdM
SUJDXzIuMgBfX2xpYmNfY3N1X2luaXQAX19ic3Nfc3RhcnQAbWFpbgBmaWIAX0p2X1JlZ2lzdGVy
Q2xhc3NlcwBfX1RNQ19FTkRfXwBfSVRNX3JlZ2lzdGVyVE1DbG9uZVRhYmxlAAAuc3ltdGFiAC5z
dHJ0YWIALnNoc3RydGFiAC5pbnRlcnAALm5vdGUuQUJJLXRhZwAubm90ZS5nbnUuYnVpbGQtaWQA
LmdudS5oYXNoAC5keW5zeW0ALmR5bnN0cgAuZ251LnZlcnNpb24ALmdudS52ZXJzaW9uX3IALnJl
bGEuZHluAC5yZWxhLnBsdAAuaW5pdAAudGV4dAAuZmluaQAucm9kYXRhAC5laF9mcmFtZV9oZHIA
LmVoX2ZyYW1lAC5pbml0X2FycmF5AC5maW5pX2FycmF5AC5qY3IALmR5bmFtaWMALmdvdAAuZGF0
YQAuYnNzAC5jb21tZW50AC5kZWJ1Z19hcmFuZ2VzAC5kZWJ1Z19pbmZvAC5kZWJ1Z19hYmJyZXYA
LmRlYnVnX2xpbmUALmRlYnVnX3N0cgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAABAAAAAAAAAAIAAAAAAAACOAAA
AAAAAAI4AAAAAAAAAA8AAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAjAAAABwAAAAAAAAACAAAA
AAAAAkgAAAAAAAACSAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAMQAAAAcAAAAA
AAAAAgAAAAAAAAJoAAAAAAAAAmgAAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAERv
///2AAAAAAAAAAIAAAAAAAACkAAAAAAAAAKQAAAAAAAAACQAAAAFAAAAAAAAAAAAAAAIAAAAAAAA
AAAAAABOAAAACwAAAAAAAAACAAAAAAAAArgAAAAAAAACuAAAAAAAAADYAAAABgAAAAIAAAAAAAAA
CAAAAAAAAAAYAAAAVgAAAAMAAAAAAAAAAgAAAAAAAAOQAAAAAAAAA5AAAAAAAAAAjwAAAAAAAAAA
AAAAAAAAAAEAAAAAAAAAAAAAAF5v////AAAAAAAAAAIAAAAAAAAEIAAAAAAAAAQgAAAAAAAAABIA
AAAFAAAAAAAAAAAAAAACAAAAAAAAAAIAAABrb////gAAAAAAAAACAAAAAAAABDgAAAAAAAAEOAAA
AAAAAAAgAAAABgAAAAEAAAAAAAAACAAAAAAAAAAAAAAAegAAAAQAAAAAAAAAAgAAAAAAAARYAAAA
AAAABFgAAAAAAAAA2AAAAAUAAAAAAAAAAAAAAAgAAAAAAAAAGAAAAIQAAAAEAAAAAAAAAEIAAAAA
AAAFMAAAAAAAAAUwAAAAAAAAADAAAAAFAAAAFgAAAAAAAAAIAAAAAAAAABgAAACOAAAAAQAAAAAA
AAAGAAAAAAAABWAAAAAAAAAFYAAAAAAAAABAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAiQAA
AAEAAAAAAAAABgAAAAAAAAWgAAAAAAAABaAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAA
IAAAAJQAAAABAAAAAAAAAAYAAAAAAAAGAAAAAAAAAAYAAAAAAAAAApAAAAAAAAAAAAAAAAAAAAAI
AAAAAAAAAAAAAACaAAAAAQAAAAAAAAAGAAAAAAAACJAAAAAAAAAIkAAAAAAAAAAsAAAAAAAAAAAA
AAAAAAAABAAAAAAAAAAAAAAAoAAAAAEAAAAAAAAAAgAAAAAAAAjAAAAAAAAACMAAAAAAAAAAIAAA
AAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAKgAAAABAAAAAAAAAAIAAAAAAAAI4AAAAAAAAAjgAAAA
AAAAACwAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAC2AAAAAQAAAAAAAAACAAAAAAAACRAAAAAA
AAAJEAAAAAAAAADUAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAwAAAAA4AAAAAAAAAAwAAAAAA
AB4IAAAAAAAADggAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAMwAAAAPAAAAAAAA
AAMAAAAAAAAeEAAAAAAAAA4QAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAgAAADYAAAA
AQAAAAAAAAADAAAAAAAAHhgAAAAAAAAOGAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAA
AAAA3QAAAAYAAAAAAAAAAwAAAAAAAB4gAAAAAAAADiAAAAAAAAAB4AAAAAYAAAAAAAAAAAAAAAgA
AAAAAAAAEAAAAOYAAAABAAAAAAAAAAMAAAAAAAAgAAAAAAAAABAAAAAAAAAAAFgAAAAAAAAAAAAA
AAAAAAAIAAAAAAAAAAgAAADrAAAAAQAAAAAAAAADAAAAAAAAIFgAAAAAAAAQWAAAAAAAAAAQAAAA
AAAAAAAAAAAAAAAACAAAAAAAAAAAAAAA8QAAAAgAAAAAAAAAAwAAAAAAACBoAAAAAAAAEGgAAAAA
AAAACAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAPYAAAABAAAAAAAAADAAAAAAAAAAAAAAAAAA
ABBoAAAAAAAAACUAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAEAAAD/AAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAQjQAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAABDgAAAAEAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAEL0AAAAAAAAAsQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAARoAAAAB
AAAAAAAAAAAAAAAAAAAAAAAAAAAAABFuAAAAAAAAAIcAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA
AAEoAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR9QAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAQAA
AAAAAAAAAAABNAAAAAEAAAAAAAAAMAAAAAAAAAAAAAAAAAAAEj0AAAAAAAAAUQAAAAAAAAAAAAAA
AAAAAAEAAAAAAAAAAQAAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKQAAAAAAAABqgAAAAg
AAAAMgAAAAAAAAAIAAAAAAAAABgAAAAJAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZOAAAAAAA
AAIgAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAEQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
G1gAAAAAAAABPwAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAA==
Please let me know if there is more I can provide.
…--
Happy hacking
Petter Reinholdtsen
|
The section number type is declared as a Half (uint16_t) because that's the right size for Sym, but the link field section number in Shdr is actually a Word (uint32_t). This works out find on little-endian because the padding inserted by the compiler is in the right place, but on big-endian the padding is on the wrong side of this field, so the link field is always 0 in practice. Fix this by using the real "shn" type if the byte order is "native", and using Word if the byte order is big or little endian, Updates #19.
@petterreinholdtsen, I think this should do it, but can you test on a big endian machine? I was able to confirm that my little endian machine was able to process the big endian binary, which strongly suggests that this should work, but there could still be bugs. |
[Austin Clements]
@petterreinholdtsen, I think this should do it, but can you test on a
big endian machine? I was able to confirm that my little endian
machine was able to process the big endian binary, which strongly
suggests that this should work, but there could still be bugs.
Thank you very much.
I can confirm that 'make check' now work on s390x:
(sid_s390x-dchroot)pere@zelenka:~/libelfin$ uname -a
Linux zelenka 3.16.0-4-s390x #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) s390x GNU/Linux
(sid_s390x-dchroot)pere@zelenka:~/libelfin$ make check
cd test && ./test.sh
PASS dump-sections golden-gcc-4.9.2/example
PASS dump-sections golden-gcc-6.2.1-s390x/example
PASS dump-segments golden-gcc-4.9.2/example
PASS dump-segments golden-gcc-6.2.1-s390x/example
PASS dump-lines golden-gcc-4.9.2/example
PASS dump-lines golden-gcc-6.2.1-s390x/example
PASS dump-syms golden-gcc-4.9.2/example
PASS dump-syms golden-gcc-6.2.1-s390x/example
PASS dump-tree golden-gcc-4.9.2/example
PASS dump-tree golden-gcc-6.2.1-s390x/example
(sid_s390x-dchroot)pere@zelenka:~/libelfin$
I hope you can make a new release soon with this change, and We'll get
it into Debian as soon as possible after this.
…--
Happy hacking
Petter Reinholdtsen
|
Btw, looking at the code and the files in test/golden-gcc-*/ make me suspect the test will fail when a new compiler show up or for all architectures that do not have its own directory there. Is this correct? There are as mentioned earlier several big endian architectures in Debian, and I worry that the current fixes only make the s390x build work, while the others will keep failing. |
Release v0.3 created.
No, this shouldn't be a problem. For example, I ran the 6.2.1-s390x tests on my x86 machine that doesn't have GCC 6.2.1. Since the test binaries are already made, it doesn't matter what architecture is running them or what compilers are available. |
[Austin Clements]
Release v0.3 created.
Thank you. It is now uploaded to Debian.
No, this shouldn't be a problem. For example, I ran the 6.2.1-s390x
tests on my x86 machine that doesn't have GCC 6.2.1. Since the test
binaries are already made, it doesn't matter what architecture is
running them or what compilers are available.
You are absolutely right. The automatic builds confirm that the patch
get the code working on all Debian architectures. You can check the
status on <URL: https://tracker.debian.org/pkg/libelfin >.
--
Happy hacking
Petter Reinholdtsen
|
The source build but fail to work on s390 when built for Debian. See https://buildd.debian.org/status/fetch.php?pkg=libelfin&arch=s390x&ver=0.2-5&stamp=1479224801 for the complete build log. This is the error:
Thank you very much for providing the self test in the code. It avoided uploading broken binaries to Debian. :)
The text was updated successfully, but these errors were encountered: