ERREUR: ld.so: l'objet 'getpid.so' de LD_PRELOAD ne peut pas être préchargé: ignoré
Lorsque j'essaie d'utiliser LD_PRELOAD suivant,
LD_PRELOAD=getpid.so ./testpid
J'obtiens l'erreur suivante...
ERROR: ld.so: object 'getpid.so' from LD_PRELOAD cannot be preloaded: ignored.
Je compile getpid.ainsi, en utilisant le
gcc -Wall -fPIC -shared -o getpid.so getpid.c
et il contient le code suivant...
//getpid.c
#include <sys/syscall.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
pid_t getpid(void)
{
printf("Hello, world!\n");
return syscall(SYS_getpid);
}
tespid.c
constains code qui utilise getpid comme indiqué ci-dessous et qui est compilé en faisant
gcc testpid -o testpid.c
Ce que peut être le problème? Pourquoi est-LD_PRELOAD pas de travail?
//testpid.c
#include <sys/syscall.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
printf( "pid = %d!\n", getpid() );
return 0;
}
source d'informationauteur MetallicPriest
Vous devez vous connecter pour publier un commentaire.
Ressemble le chargeur est impossible de trouver
getpid.so
comme vous ne l'avez pas mentionné le chemin de la bibliothèque.Essayer: