This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Disabling Consistency Checks
- From: Eric Neblock <c_eric at sbcglobal dot net>
- To: libc-help at sourceware dot org
- Date: Tue, 02 Dec 2014 08:52:38 -0600
- Subject: Disabling Consistency Checks
- Authentication-results: sourceware.org; auth=none
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello all,
I'm working on a program based on this (
http://mainisusuallyafunction.blogspot.com/2011/01/implementing-breakpoints-on-x86-linux.html
) that will stop a child when a certain function is called.
When trying to implement a hardware break for a separate program (by
using an execv) that is dynamically linked, ld.so complains with the
following:
Inconsistency detected by ld.so: ../elf/dl-runtime.c: 79: _dl_fixup:
Assertion `((reloc->r_info) & 0xffffffff) == 7' failed!
Now, I'm sure this has to deal with altering another program's code
section and there are obvious reasons why we don't want that to happen;
however, is there a way that I can disable this check? Or (perhaps even
better), what would be the correct way of having Program A stop Program
B when a certain line of code is executed that doesn't involve preloading.
I want to avoid preloading, because right now I want to stop whenever a
C program executes a malloc; however, tomorrow I may want to stop at a
printf so I'm trying to make things as dynamic as possible.
If there is any other information that I can provide, please let me know.
Thanks,
Eric
Helpful information:
uname -a:
Linux thinkpad 3.11.10-21-xen #1 SMP Mon Jul 21 15:28:46 UTC 2014
(9a9565d) x86_64 x86_64 x86_64 GNU/Linux
lsb_release -a:
LSB Version: n/a
Distributor ID: openSUSE project
Description: openSUSE 13.1 (Bottle) (x86_64)
Release: 13.1
Codename: Bottle
gcc --version:
gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
libc-2.18.so:
GNU C Library (GNU libc) stable release version 2.18 (git ), by Roland
McGrath et al.
Configured for x86_64-suse-linux.
Compiled by GNU CC version 4.8.1 20130909 [gcc-4_8-branch revision 202388].
Compiled on a Linux 3.11.0 system.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQEcBAEBAgAGBQJUfdI2AAoJEKnJ+4MkCuMTCmgIAIO7qj2A0FEBCWtpP0vxwhBi
XV9KUr8GXPeKmw6O8c/VqCtt8tD0dMVVyTmqXt5DLSGNmLqlybkgTCZ4GkOWnRvo
pE8mV/K+7f9EBOWJ4I9dz5XQYqtTFgRIp8JMtzNjlK1wyLvVZoKJASG04uHnUARB
kC/nT0FXCC2WL09zjA73tWbC1u/SPlyuiHO3Hpcz2ph5KF4okRmlK25mJj1UWFn7
3YxuiwYNmG3Gl86B0i+eRuAN4cT9xDgcAqFCBxuq23x7Z2GVjUPiEEWwujOEttkt
W8F4nxeLcC5DGO8Ub147gfz2WJlrp9W67OQumtGTx/Uvw1KIqbvQ2Ml433o4ZTc=
=Dz2O
-----END PGP SIGNATURE-----