The current prelink in Gentoo isn't able to handle ELF files that were compiled with gcc 4.0.0 (and not stripped). It says: ".debug_log adjusting unfinished". I found a newer version of prelink that is used in Fedora. Jakub forgot to put that version into his FTP directory... Anyway, the SRPM contains the working source code. Since it's called 0.3.4 it's perhaps time to switch the versioning from date to a normal one...? Your call. I've attached an ebuild that pulls the SRPM and compiles it. No other changes to the ebuild were required. I've also included a stupid workaround for a strange gcc 4.0.0 issue. I'm getting a strange error message where he complains that something is wrong with the goto statement. It's just a workaround. If someone can come up with a better solution or show that it's just my fault, you can of course omit it (or wait for gcc to fix the bug). Reproducible: Always Steps to Reproduce:
Created attachment 58020 [details] proposed prelink 0.3.4 ebuild
Created attachment 58021 [details, diff] "goto error_out" issue workaround in gcc 4.0.0 for the FILESDIR, used by proposed ebuild
Someone beat me to submitting the ebuild, sys-devel/prelink-20050314 Also I would guess the gcc-4 issue is a compiler bug as the code looks valid. ( I would guess the gcc optimiser gets confused, does it work with no optimisation)
> Also I would guess the gcc-4 issue is a compiler bug as the code looks valid. No, it's not a compiler bug The older prelink simply couldn't cope with .debug_loc sections which were introduced with gcc4. Just wanted that clarified. :)
I do not mean the .debug_log being a compiler bug, I mean the goto statement not compiling.
Sorry, of course, yes. Unfortunately that bug is still there with the latest gcc 4.0 snapshot.