From: Bart Van Assche Date: Mon, 30 Jun 2008 13:15:33 +0000 (+0000) Subject: Fixes for CentOS 3.0. X-Git-Tag: svn/VALGRIND_3_4_0~402 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7054da3844f016d920f549bb4acc0ac80f004e1b;p=thirdparty%2Fvalgrind.git Fixes for CentOS 3.0. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8321 --- diff --git a/exp-drd/drd_main.c b/exp-drd/drd_main.c index 35c65a2da7..5e30adfe41 100644 --- a/exp-drd/drd_main.c +++ b/exp-drd/drd_main.c @@ -1048,6 +1048,18 @@ IRSB* drd_instrument(VgCallbackClosure* const closure, switch (st->tag) { + /* Note: the code for not instrumenting the code in .plt */ + /* sections is only necessary on CentOS 3.0 x86 (kernel 2.4.21 */ + /* + glibc 2.3.2 + NPTL 0.60 + binutils 2.14.90.0.4). */ + /* This is because on this platform dynamic library symbols are */ + /* relocated in another way than by later binutils versions. The */ + /* linker e.g. does not generate .got.plt sections on CentOS 3.0. */ + case Ist_IMark: + instrument = VG_(seginfo_sect_kind)(NULL, 0, st->Ist.IMark.addr) + != Vg_SectPLT; + addStmtToIRSB(bb, st); + break; + case Ist_MBE: switch (st->Ist.MBE.event) { diff --git a/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b b/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b index 8dca5324b3..48fee91fea 100644 --- a/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b +++ b/exp-drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b @@ -107,6 +107,10 @@ Reader-writer lock not locked by calling thread: rwlock 0x......... [1/1] semaphore_init 0x........ [1/1] semaphore_init 0x........ +Semaphore reinitialization: semaphore 0x........ + at 0x........: sem_init* (drd_pthread_intercepts.c:?) + by 0x........: main (tc20_verifywrap.c:231) + FIXME: can't figure out how to verify wrap of sem_destroy [1/1] semaphore_pre_wait 0x........ @@ -135,4 +139,4 @@ Destroying locked mutex: mutex 0x........, recursion count 1, owner 1. [1/1] post_mutex_lock recursive mutex 0x........ rc 0 owner 0 [1/1] mutex_unlock recursive mutex 0x........ rc 1 -ERROR SUMMARY: 14 errors from 14 contexts (suppressed: 0 from 0) +ERROR SUMMARY: 15 errors from 15 contexts (suppressed: 0 from 0)