svn commit: trunk/uClibc/include

Mike Frysinger vapier at gentoo.org
Mon Nov 28 16:01:16 UTC 2005


On Mon, Nov 28, 2005 at 03:43:27PM +0100, Peter S. Mazinger wrote:
> On Mon, 28 Nov 2005, Mike Frysinger wrote:
> > 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 ?

once i fiddled with options to try and reproduce the issue, yes ...
but since your errors were lacking in terms of details and SSP is
off by default, i had never hit the build failure before

> > 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())
> 
> 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.

sounds good ... i dislike having ssp-internal.h included by a semi 
general header file considering it defines functions like it does ...
that means any file which includes dl-osinfo.h will have those
functions compiled into the resulting object file (assuming the
compiler doesnt optimize them away; and relying on this behavior is
poor design in the first place imho)
-mike



More information about the uClibc mailing list