svn commit: trunk/uClibc/include
Peter S. Mazinger
ps.m at gmx.net
Mon Nov 28 14:43:27 UTC 2005
On Mon, 28 Nov 2005, Mike Frysinger wrote:
> On Sun, Nov 27, 2005 at 11:50:05PM +0100, Peter S. Mazinger wrote:
> > On Sun, 27 Nov 2005, Mike Frysinger wrote:
> >
> > > On Sat, Nov 26, 2005 at 05:35:53PM -0800, psm at uclibc.org wrote:
> > > > Log:
> > > > headers patched w/ sed -i 's:extern int errno:#include <errno.h>' linux/unistd.h fail here
> > > >
> > > > --- trunk/uClibc/include/ssp-internal.h 2005-11-27 01:20:58 UTC (rev 12542)
> > > > +++ trunk/uClibc/include/ssp-internal.h 2005-11-27 01:35:52 UTC (rev 12543)
> > > > @@ -21,6 +21,10 @@
> > > > #include <signal.h>
> > > > #include <linux/unistd.h>
> > > >
> > > > +#ifndef errno
> > > > +extern int errno;
> > > > +#endif
> > > > +
> > >
> > > uhh, what ? doing 'extern int errno' will never work with TLS
> >
> > can't tell you what TLS will do, but the gentoo unistd.h patch to
> > linux-headers (2.4.26-r1) killed the uClibc build.
>
> no it doesnt
>
> > Probably it will fail everywhere, when kernel syscalls are used.
>
> this statement is just plain wrong as well
>
> the reason __uClibc_main.os fails to build with SSP support is because
> at the top of the file is this:
> #define _ERRNO_H
> which prevents errno from ever being defined by the errno headers
so you had the problem as well ?
>
> i dont know why ssp-internal.h is forced to be included by dl-osinfo.h,
> but the issue can be fixed in __uClibc_main.c by moving the include of
> ssp-internal.h from dl-osinfo.h to __uClibc_main.c and then adding this
> before including the file:
> #define errno *(__errno_location())
> -mike
let's forget for now about how and why ssp-internal.h is used, now that I
moved the guard creation to ldso (and there I used _dl_x and
sys/syscall.h), I have to make __libc_read/open/close and some others
hidden, after that I will remove entirely ssp-internal.h and the use of
kernel syscalls and switch to the internal hidden versions of functions.
thanks though tracking the cause, I wondered why adding #include <errno.h>
to ssp-internal.h didn't worked.
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
More information about the uClibc
mailing list