squeeze, x64, gcc -s -static = unexpected reloc type in static binary
*Hallo,
beim statischem und gestripptem kompilieren mit gcc bekomme ich den
Fehler "unexpected reloc type in static binary".
Ich konnte das in sofern eingrenzen das es vermutlich nur in x64
vorkommt. Kurze Recherchen ergaben das es evtl. etwas mit den binutils
zu tun hat. Unter Arch.x64 mit einer neueren binutils Version scheint
das Problem jedenfalls nicht aufzutreten. Einen Bug Report diesbezüglich
konnte ich auf die Schnelle nicht finden, was aber nicht heissen muss
das es keinen gibt.
Mir wurde in freenode/#debian als workaround empfohlen das strippen als
zweiten Schritt mittels strip -s zu machen was zu funktionieren scheint.
Meine Frage, kann das ganze zum einen jemand bestätigen und zum anderen
mal schauen ob das unter testing/sid auch so ist?
Nachzuvollziehen wäre es wie folgt:
$ echo 'int main(){return 0;}' | gcc -x c -s -static - -o a.out && ./a.out
unexpected reloc type in static binary
Segmentation fault
Mit Workaround:
$ echo 'int main(){return 0;}' | gcc -x c -static - -o a.out && strip -s
a.out && ./a.out
Grüsse,
Ralf
*
Reply to: