Hi Everyone @ the Yocto project, I'm Shane Peelar, a PhD Candidate at the University of Windsor. I'm writing to you about prelink-cross, as part of the Yocto project. Specifically, I'm looking at using it with executables built using `-fno-plt` under GCC. I wasn't quite sure where to send this email to, so I figured I'd try here. If there's a better place to send this, please let me know.
Right now, prelink-cross seems to fail an assertion in arch-x86_64.c, line 421, when using it with an executable built with `-fno-plt`: ... assert (i < dso->ehdr.e_shnum) ... This snippet seems to be looking for the ".plt" section and, since it can't find it, the assertion fires. This makes sense because in `-fno-plt` executables, the `.plt` section is missing entirely. I'm not an expert on ELF stuff, although I am learning quickly. It looks like this code wants to write into GOT[1] the address of ".plt" + 0x16 -- since ".plt" doesn't exist, does it make sense to just change this assert to an if statement like so: ... if (i < dso->ehdr.e_shnum) { ... } ... and skip over that part? Or is this a real error condition for prelink-cross and it really should not continue? The executable in question is also non-PIE, if that makes a difference. Thanks for your time, Shane
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto