Hello,

I am trying to use nativesdk-gcc to have a gcc compiler for my sdk
machine. Everything looks to work correctly but some code make the
linker attempt to use host libraries.

This is weird because this only happens when I use libraries that are
in the ${SDKROOT}/lib and not in ${SDKROOT}/usr/lib. Examples librt or
libpthread.

An example program[1], build with [2] results in
//lib64/libpthread.so.0: undefined reference to `h_errno@GLIBC_PRIVATE'
//lib64/libpthread.so.0: undefined reference to
`__vdso_clock_gettime@GLIBC_PRIVATE'
//lib64/libpthread.so.0: undefined reference to
`__libc_dl_error_tsd@GLIBC_PRIVATE'

One thing I noticed is that the sysroot of this nativesdk-gcc is not
poisoned. I am not sure if this on purpose or not because gcc-7.3.bb
requires  gcc-7.3.inc gcc-target.inc in this order. The problem is
that gcc-7.3.inc poisons the sysroot and gcc-target.inc "unpoisons"
the sysroot. Basically gcc-target overwrites EXTRA_OECONF_PATHS that
was set by gcc-7.3.inc.

Let me know if you are aware of what is wrong.
Paulo Neves

[1] d.c
#define _GNU_SOURCE
       #include <sched.h>
       #include <unistd.h>
       #include <stdlib.h>
       #include <stdio.h>

 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif

 #undef timer_create

  char timer_create ();
  int
 main ()
 {
 return timer_create ();
   ;
   return 0;
 }

[2] bash -c "PATH=./buildtools/sysroots/x86_64-pokysdk-linux/usr/bin/
&& gcc -lrt d.c"
-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to