Jivin Mike Frysinger lays it down ...
> We should link against -lc before any of the binutils libs (libiberty/bfd)
> as those libs provide replacements for some common functions we don't really
> care about (like getopt).  Otherwise, if the C library does something wacky
> in its API (like renaming symbols), we get a desync where some symbols are
> provided by the binutils libs while others are provided by the C library.
> 
> For a concrete example, try building elf2flt on OS X 10.5.  Their stupid
> headers do this in unistd.h:
> int getopt(int, char * const [], const char *) __asm("_" "getopt" 
> "$UNIX2003");
> The resulting elf2flt binaries are incapable of properly parsing any option
> given to them.
> 
> Signed-off-by: Mike Frysinger <[EMAIL PROTECTED]>

Applied, Thanks.

Cheers,
Davidm

> ---
>  configure.in |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/configure.in b/configure.in
> index 42be556..5ab8983 100644
> --- a/configure.in
> +++ b/configure.in
> @@ -135,6 +135,13 @@ Run configure again specifying these options:
>  ])
>  fi
>  
> +dnl Make sure we resolve system symbols before libiberty/libbfd ones.
> +dnl Otherwise, things like getopt get screwed up because the system headers
> +dnl redirect some functions to the system symbols, but other local symbols
> +dnl come from libiberty/libbfd.
> +dnl int getopt(int, char * const [], const char *) __asm("_" "getopt" 
> "$UNIX2003");
> +AC_CHECK_LIB(c, malloc, LIBS="-lc $LIBS")
> +
>  dnl Checks for header files.
>  AC_HEADER_STDC
>  AC_CHECK_HEADERS(fcntl.h unistd.h bfd.h)
> -- 
> 1.6.0.3
> 
> _______________________________________________
> uClinux-dev mailing list
> [email protected]
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by [email protected]
> To unsubscribe see:
> http://mailman.uclinux.org/mailman/options/uclinux-dev
> 

-- 
David McCullough,  [EMAIL PROTECTED],   Ph:+61 734352815
Secure Computing - SnapGear  http://www.uCdot.org   http://www.snapgear.com
_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to