dl-load.c (ld.so) bug??
Troy Benjegerdes
hozer at drgw.net
Tue Jun 22 11:57:34 EST 1999
On Mon, 21 Jun 1999, Hollis R Blanchard wrote:
> On Mon, 21 Jun 1999, Troy Benjegerdes wrote:
> >
> > testcase:
> >
> > #include <stdio.h>
> > int main(void){
> > char * ptr;
> > printf("hello world\n");
> > fflush(stdout);
> > ptr = (char *)malloc(100);
> > free(ptr);
> > }
> >
> >
> > compile this with:
> > gcc test.c -lefence -g -static
> >
> > On a PPC glibc-2.1 box, this segfaults in dl-load.c:564
> >
> > On a x86 Red Hat 6.0 system, it works fine (
> > [troybenj at mos6 troybenj]$ ./a.out
> >
> > Electric Fence 2.0.5 Copyright (C) 1987-1998 Bruce Perens.
> > hello world
> > [troybenj at mos6 troybenj]$
> >
> >
> > Either dl-load.c has a serious bug, or ElectricFence is broken on PPC.
> > I suspect it's the former, and if so, this would explain the weird
> > segfaults I've been seeing.
> >
> > Can someone that knows glibc better please confirm or deny this for me?
>
> Ok, I don't know squat about glibc, but doesn't the fact that it runs fine
> *without* Electric Fence indicate it's a problem with that?
>
> -Hollis
>
No. Electric Fence is designed to catch programming errors, such as
attempting to access memory which was not 'malloc'ed. I have traced this
down extensively a couple of months ago, and found that it does indeed
appear to overrun what it malloced.
In normal operation, if I am correct, the ld.so code is just silently
overwriting some other data.
--------------------------------------------------------------------------
| Troy Benjegerdes | troy at microux.com | hozer at drgw.net |
| Unix is user friendly... You just have to be friendly to it first. |
| This message composed with 100% free software. http://www.gnu.org |
--------------------------------------------------------------------------
[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to Cc linuxppc-dev if your ]]
[[ reply is of general interest. Please check http://lists.linuxppc.org/ ]]
[[ and http://www.linuxppc.org/ for useful information before posting. ]]
More information about the Linuxppc-dev
mailing list