[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tests: avoid LD_PRELOAD lookup error for dlsym
From: |
Jim Meyering |
Subject: |
Re: [PATCH] tests: avoid LD_PRELOAD lookup error for dlsym |
Date: |
Tue, 08 May 2012 08:57:26 +0200 |
Bernhard Voelker wrote:
> On 05/07/2012 10:03 PM, Jim Meyering wrote:
>> Thanks to the nixos/hydra autobuilder, I noticed that the new
>> LD_PRELOAD-based test was failing in one of their build environments:
>>
>> http://hydra.nixos.org/build/2531974
>>
>> + echo xyz
>> + LD_PRELOAD=./k.so
>> + cp src d
>> cp: symbol lookup error: ./k.so: undefined symbol: dlsym
>>
>> Here's the probable fix:
>>
>> From fedebc59a040a7e34dce5c987b7f6fcf2cefa904 Mon Sep 17 00:00:00 2001
>> From: Jim Meyering <address@hidden>
>> Date: Mon, 7 May 2012 22:01:20 +0200
>> Subject: [PATCH] tests: avoid LD_PRELOAD lookup error for dlsym
>>
>> * tests/cp/nfs-removal-race: Link with -ldl.
>> ---
>> tests/cp/nfs-removal-race | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tests/cp/nfs-removal-race b/tests/cp/nfs-removal-race
>> index 6a435b0..cb8aba3 100755
>> --- a/tests/cp/nfs-removal-race
>> +++ b/tests/cp/nfs-removal-race
>> @@ -57,7 +57,7 @@ __xstat (int ver, const char *path, struct stat *st)
>> EOF
>>
>> # Then compile/link it:
>> -$CC -shared -fPIC -O2 k.c -o k.so \
>> +$CC -shared -fPIC -O2 k.c -o k.so -ldl \
>> || framework_failure_ 'failed to compile with -shared -fPIC'
>>
>> touch d2 || framework_failure_
>> --
>> 1.7.10.1.457.g8275905
>
> I'm puzzled: if your assumption is true, then why doesn't the
> other LD_PRELOAD based test - "ls/getxattr-speedup" - fail?
That other one doesn't call dlsym, while this new script does,
in order to call the underlying stat function.