On 12/17/2017 13:57 UTC, Tony Nelson wrote:
On 17-12-17 14:33:43, John Reiser wrote:
...
At this point I suggest to file a bugzilla report against the compiler
for not keeping %rsp 16-byte aligned. Include the traceback and
the register info from the gdb session at SIGSEGV, and the identities
(.so name, build-id, .rpm name) of the shared libraries that were loaded
at the time of SIGSEGV.
...
As somebody mentioned sending the binary to a user of another distro,
where it worked properly, isn't the problem likely to be how some Fedora
build of a shared library is compiled?
Yes. That's implied by "not keeping %rsp 16-byte aligned".
There is also this atrocity of code generation:
Dump of assembler code for function _dl_fini:
0x00007ffff7de738f <+159>: lea 0x16(,%rcx,8),%rcx
0x00007ffff7de7397 <+167>: shr $0x4,%rcx
0x00007ffff7de739b <+171>: shl $0x4,%rcx
0x00007ffff7de739f <+175>: sub %rcx,%rsp
The 0x16 stands out like a sore thumb; it might as well be 0x10
because the 6 gets shifted off by the shr. And the two shifts
could be replaced by "and $~0xf,%rcx" which is twice as fast
and twice as small.
Then there's the subtle point that filing bugzilla encourages
the exhibit of a reproducible test case: the actual command line,
the actual .rpms for the program and libraries,
the actual environment variables, attaching [or linking]
to the actual input files. If the original poster had done that,
then the specific problem would be pin-pointed by now because someone [:-)]
could run the test case, plant the breakpoints, look at the machine state,
and figure out _quickly_ which subroutine was mis-compiled.
--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx