[OE-core] help with gcc-configure-common bug
Kumar Gala
galak at kernel.crashing.org
Tue Aug 2 15:36:35 UTC 2011
On Aug 1, 2011, at 1:58 PM, Kumar Gala wrote:
> I'm trying to track down a bug related the following in gcc-configure-common.inc. I know there is one bug in the sed line, but when I fix that I run into a second issue. I'm trying to understand what we think the following two lines are trying to attempt:
>
> SYSTEMLIBS_DIR=`dirname ${SYSTEMLIBS}`
> [ "$SYSTEMLIBS_DIR" = "/" ] && SYSTEMLIBS_DIR=""
>
> any ideas?
>
>> From the commit log we expect something like:
> #define GLIBC_DYNAMIC_LINKER64 SYSTEMLIBS_DIR"/ld-linux-x86-64.so.2"
> and we define SYSTEMLIBS_DIR in defaults.h.
>
> so its seems if SYSTEMLIBS = 'lib', that we end up with:
> #define SYSTEMLIBS ""
>
> and thus becomes:
> GLIBC_DYNAMIC_LINKER64 "ld-linux-x86-64.so.2"
>
> which ends up being wrong.
>
> - k
>
> do_configure_prepend () {
> # Change the default dynamic linker path, only useful for SDK, other's value
> # are not changed according to the SYSTEMLIBS_DIR
> sed -i ${S}/gcc/config/*/linux*.h -e \
> 's#\(GLIBC_DYNAMIC_LINKER[^ ]*\)\( *"/lib.*\)#\1 SYSTEMLIBS_DIR\2#'
>
> SYSTEMLIBS_DIR=`dirname ${SYSTEMLIBS}`
> [ "$SYSTEMLIBS_DIR" = "/" ] && SYSTEMLIBS_DIR=""
> # teach gcc to find correct target includedir when checking libc ssp support
> mkdir -p ${B}/gcc
> echo "NATIVE_SYSTEM_HEADER_DIR = ${SYSTEMHEADERS}" > ${B}/gcc/t-oe
> cat ${S}/gcc/defaults.h | grep -v "\#endif.*GCC_DEFAULTS_H" > ${B}/gcc/defaults.h.new
> cat >>${B}/gcc/defaults.h.new <<_EOF
> #ifndef STANDARD_INCLUDE_DIR
> #define STANDARD_INCLUDE_DIR "${SYSTEMHEADERS}"
> #endif
> #ifndef STANDARD_STARTFILE_PREFIX_1
> #define STANDARD_STARTFILE_PREFIX_1 "${SYSTEMLIBS}"
> #endif
> #ifndef STANDARD_STARTFILE_PREFIX_2
> #define STANDARD_STARTFILE_PREFIX_2 "${SYSTEMLIBS1}"
> #endif
> #define SYSTEMLIBS_DIR "$SYSTEMLIBS_DIR"
> #endif /* ! GCC_DEFAULTS_H */
> _EOF
> mv ${B}/gcc/defaults.h.new ${B}/gcc/defaults.h
> }
Would really love if anyone knows what is suppose to be going on with SYSTEMLIBS_DIR to chime in here.
- k
More information about the Openembedded-core
mailing list