Angabe mehrerer Dateien mit LD_PRELOAD

Lesezeit: 1 Minute

Benutzeravatar von MetallicPriest
MetallicPriest

Ich weiß, wie man eine Bibliothek mit LD_PRELOAD zum Beispiel wie folgt überschreibt.

LD_PRELOAD=./getpid.so ./testpid

Jetzt ist meine Frage, wie man mehrere Dateien überschreibt. Angenommen, ich möchte sowohl getpid als auch getid überschreiben, wie würde ich das angeben?

  • Laut Manpage werden auch Doppelpunkte akzeptiert, zB: LD_PRELOAD=path1:path2

    – Isac Casapu

    28. Dezember 2016 um 13:20 Uhr


  • Interessant. Im Abschnitt zu LD_LIBRARY_PATH erwähnt die Seite, dass Semikolons und Doppelpunkte gültig sind, aber Leerzeichen werden nicht erwähnt. Das Parsen von $ORIGIN, $LIB und $PLATFORM ist (glaube ich) neu. Leerzeichen waren immer etwas überraschend, und ich finde es seltsam, dass sie in LD_PRELOAD gültig sind, aber nicht in LD_LIBRARY_PATH.

    – William Pursel

    28. Dezember 2016 um 13:45 Uhr


  • Beachten Sie, dass die Seite von 2001 (von Kernel.org/pub/linux/docs/man-pages/Archive/…) besagt: „ LD_PRELOAD: Eine durch Leerzeichen getrennte Liste zusätzlicher, benutzerspezifischer gemeinsam genutzter ELF-Bibliotheken, die vor allen anderen geladen werden sollen.“ Ich kann keine Änderung in binutils finden und würde gerne wissen, ob dies nur eine Auslassung in der Dokumentation ist oder ob sich das Verhalten kürzlich geändert hat.

    – William Pursel

    28. Dezember 2016 um 14:02 Uhr

  • Hmm, interessant! Werde das versuchen!

    – MetallicPriest

    12. Dezember 2011 um 12:37 Uhr

  • Es ist schön, eine einzige Bibliothek zu erstellen, die alle gewünschten Funktionen enthält, etwas einfacher zu machen. Diese Antwort ist am schönsten, obwohl andere richtiger sind.

    – Benutzer7296055

    4. Dezember 2017 um 10:17 Uhr

1413270cookie-checkAngabe mehrerer Dateien mit LD_PRELOAD

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy