This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: glibc-2.4 __stack_chk_guard/__pointer_chk_guard
- From: "Peter S. Mazinger" <ps dot m at gmx dot net>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: libc-alpha at sourceware dot org
- Date: Tue, 7 Mar 2006 10:46:14 +0100 (CET)
- Subject: Re: glibc-2.4 __stack_chk_guard/__pointer_chk_guard
On Tue, 7 Mar 2006, Jakub Jelinek wrote:
> On Tue, Mar 07, 2006 at 09:50:37AM +0100, Peter S. Mazinger wrote:
> > Both __stack_chk_guard/__pointer_chk_guard are exported unconditionally
> > (elf/Versions), but they are guarded w/ #ifndef
> > THREAD_SET_STACK_GUARD/THREAD_SET_POINTER_GUARD in elf/rtld.c and
> > csu/libc-start.c.
> >
> > What is the correct approach?
> > 1. Guard them in elf/Versions.
> > 2. Define them unconditionally in the mentioned .c files.
>
> 3. Leave glibc as is.
>
> The linker does the desirable thing, if the symbol isn't defined
> anywhere but in the version script, it of course isn't exported.
> Why should we conditionalize it?
>
> Jakub
I can understand the use of __stack_chk_guard, but can't understand the
addition of __pointer_chk_guard (or it's TLS version) to glibc.
Could you please explain it to me?
Thanks, Peter
--
Peter S. Mazinger <ps dot m at gmx dot net> ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08 BB6E C389 975E A5F0 59F2