Re: [yocto] [poky] Is this a bug of binutils

2013-09-26 Thread Laurentiu Palcu
Hi Li Zhijian,

On Thu, Sep 26, 2013 at 11:57:22AM +0800, Li Zhijian wrote:
 Hi,Laurentiu
 
 I think it could be something wrong with binutils(2.23.1 or later)
 there is different behavior at 
 binutils-2.23.1/ld/ldfile.c(ldfile_open_file_search) from binutils-2.22
 
 If both --sysroot directory and -L directory include libc.so , ld don't work
 In my case, there are double 
 libc.so(/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux/usr/lib/libc.so
  and tmp/sysroots/qemux86-64/usr/lib/libc.so)
 
 ld will link tmp/sysroots/qemux86-64/usr/lib/libc.so(ld always searchs -L 
 directory at first)
 then link /lib/libc.so.6 specified at tmp/sysroots/qemux86-64/usr/lib/libc.so 
 instead of
 append sysroot directory path before /lib/libc.so.6
 
 here is a sample method reproduce it
 
 lizj@suika x86-64-yocto-1.3]$ source 
 toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
 [lizj@suika x86-64-yocto-1.3]$ echo $CC
 x86_64-poky-linux-gcc -m64 
 --sysroot=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux
 [lizj@suika x86-64-yocto-1.3]$ $LD --version
 GNU ld (GNU Binutils) 2.23.1.20121113
 [lizj@suika x86-64-yocto-1.3]$ mkdir -p fake_rootfs/usr/lib
 [lizj@suika x86-64-yocto-1.3]$ cp 
 /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux/usr/lib/libc.so
  fake_rootfs/usr/lib/
This libc.so is actually a linker script with the following contents:

/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf64-x86-64)
GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a  AS_NEEDED 
(/lib/ld-linux-x86-64.so.2 ) )

So, the /lib/libc.so.6 and /usr/lib/libc_nonshared.a will be searched until no
undefined references are created. So, it looks like this linker script
overrides the --sysroot behavior. To be honest (even though I'm not an expert in
binutils), I think this is right behavior. I don't know why this works with the
previous binutils...

Thanks,
Laurentiu

 [lizj@suika x86-64-yocto-1.3]$ ls fake_rootfs/usr/lib/
 libc.so
 [lizj@suika x86-64-yocto-1.3]$ $CC -o test test.c -L ./fake_rootfs/usr/lib/
 test.c: In function 'main':
 test.c:3:9: warning: incompatible implicit declaration of built-in function 
 'printf' [enabled by default]
 /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
  skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
 /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
  cannot find /lib/libc.so.6
 /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
  skipping incompatible /usr/lib/libc_nonshared.a when searching for 
 /usr/lib/libc_nonshared.a
 /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
  cannot find /usr/lib/libc_nonshared.a
 collect2: error: ld returned 1 exit status
 -
 
 It seems that ld don‘t  really reasonable to do like that,which binutils-2.22 
 can handle correctly
 Does poky mind this behavior
 
 
 以上
 
 -- 
 Best regards.
 Li Zhijian
 
 
 
 at 2013-9-20 19:00, Laurentiu Palcu wrote:
 Hi,
 
 On Fri, Sep 20, 2013 at 06:25:19PM +0800, Li Zhijian wrote:
 III) compile a simple C program
 # cat test.c
 int main ()
 {
 printf(hello world\n);
 return 0;
 }
 # source 
 toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
 # $CC -o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm
 OK, it looks like something strange happens in your setup.
 
 To debug it, let's add '-Wl,--verbose' at the end of your command and you
 should be able to see where the linker is looking for libraries. Also,
 the linker script will be printed.
 
 You should see it try your directory first
 tmp/sysroots/qemux86-64/usr/lib/, and then fall through the default ones
 with the sysroot prefix added and, at the end, the system ones:
 /lib:/usr/lib.
 
 Thanks,
 Laurentiu
 
 
 
 
 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] [poky] Is this a bug of binutils

2013-09-25 Thread Li Zhijian

Hi,Laurentiu

I think it could be something wrong with binutils(2.23.1 or later)
there is different behavior at 
binutils-2.23.1/ld/ldfile.c(ldfile_open_file_search) from binutils-2.22

If both --sysroot directory and -L directory include libc.so , ld don't work
In my case, there are double 
libc.so(/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux/usr/lib/libc.so
 and tmp/sysroots/qemux86-64/usr/lib/libc.so)

ld will link tmp/sysroots/qemux86-64/usr/lib/libc.so(ld always searchs -L 
directory at first)
then link /lib/libc.so.6 specified at tmp/sysroots/qemux86-64/usr/lib/libc.so 
instead of
append sysroot directory path before /lib/libc.so.6

here is a sample method reproduce it

lizj@suika x86-64-yocto-1.3]$ source 
toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
[lizj@suika x86-64-yocto-1.3]$ echo $CC
x86_64-poky-linux-gcc -m64 
--sysroot=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux
[lizj@suika x86-64-yocto-1.3]$ $LD --version
GNU ld (GNU Binutils) 2.23.1.20121113
[lizj@suika x86-64-yocto-1.3]$ mkdir -p fake_rootfs/usr/lib
[lizj@suika x86-64-yocto-1.3]$ cp 
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux/usr/lib/libc.so
 fake_rootfs/usr/lib/
[lizj@suika x86-64-yocto-1.3]$ ls fake_rootfs/usr/lib/
libc.so
[lizj@suika x86-64-yocto-1.3]$ $CC -o test test.c -L ./fake_rootfs/usr/lib/
test.c: In function 'main':
test.c:3:9: warning: incompatible implicit declaration of built-in function 
'printf' [enabled by default]
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 cannot find /lib/libc.so.6
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 skipping incompatible /usr/lib/libc_nonshared.a when searching for 
/usr/lib/libc_nonshared.a
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 cannot find /usr/lib/libc_nonshared.a
collect2: error: ld returned 1 exit status
-

It seems that ld don‘t  really reasonable to do like that,which binutils-2.22 
can handle correctly
Does poky mind this behavior


以上

--
Best regards.
Li Zhijian



at 2013-9-20 19:00, Laurentiu Palcu wrote:

Hi,

On Fri, Sep 20, 2013 at 06:25:19PM +0800, Li Zhijian wrote:

III) compile a simple C program
# cat test.c
int main ()
{
printf(hello world\n);
return 0;
}
# source toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
# $CC -o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm

OK, it looks like something strange happens in your setup.

To debug it, let's add '-Wl,--verbose' at the end of your command and you
should be able to see where the linker is looking for libraries. Also,
the linker script will be printed.

You should see it try your directory first
tmp/sysroots/qemux86-64/usr/lib/, and then fall through the default ones
with the sysroot prefix added and, at the end, the system ones:
/lib:/usr/lib.

Thanks,
Laurentiu






___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] [poky] Is this a bug of binutils

2013-09-22 Thread Li Zhijian

at 2013-9-20 19:00, Laurentiu Palcu wrote:

Hi,

On Fri, Sep 20, 2013 at 06:25:19PM +0800, Li Zhijian wrote:

III) compile a simple C program
# cat test.c
int main ()
{
printf(hello world\n);
return 0;
}
# source toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
# $CC -o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm

OK, it looks like something strange happens in your setup.

To debug it, let's add '-Wl,--verbose' at the end of your command and you
should be able to see where the linker is looking for libraries. Also,
the linker script will be printed.

You should see it try your directory first
tmp/sysroots/qemux86-64/usr/lib/, and then fall through the default ones
with the sysroot prefix added and, at the end, the system ones:
/lib:/usr/lib.

Thanks,
Laurentiu


First,in this case

[lizj@suika x86-64-yocto-1.3]$ source 
toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
[lizj@suika x86-64-yocto-1.3]$ echo $CC
x86_64-poky-linux-gcc -m64 
--sysroot=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux
[lizj@suika x86-64-yocto-1.3]$ $CC -o test test.c -L 
tmp/sysroots/qemux86-64/usr/lib/ -lm -Wl,--verbose
test.c: In function 'main':
test.c:3:9: warning: incompatible implicit declaration of built-in function 
'printf' [enabled by default]
GNU ld (GNU Binutils) 2.23.1.20121113
  Supported emulations:
   elf_x86_64
   elf32_x86_64
   elf_i386
   i386linux
   elf_l1om
   elf_k1om
using internal linker script:
==
/* Script for -z combreloc: combine and sort reloc sections */
OUTPUT_FORMAT(elf64-x86-64, elf64-x86-64,
  elf64-x86-64)
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR(/opt/poky/1.3+snapshot/sysroots/x86_64-pokysdk-linux/usr/x86_64-poky-linux/lib64); SEARCH_DIR(=/usr/local/lib64); 
SEARCH_DIR(=/lib64); SEARCH_DIR(=/usr/lib64); SEARCH_DIR(=/usr/local/lib); SEARCH_DIR(=/lib); 
SEARCH_DIR(=/usr/lib);
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START(text-segment, 0x40)); . = 
SEGMENT_START(text-segment, 0x40) + SIZEOF_HEADERS;
  .interp : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash   : { *(.hash) }
  .gnu.hash   : { *(.gnu.hash) }
  .dynsym : { *(.dynsym) }
  .dynstr : { *(.dynstr) }
  .gnu.version: { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn   :
{
  *(.rela.init)
  *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
  *(.rela.fini)
  *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
  *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
  *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
  *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
  *(.rela.ctors)
  *(.rela.dtors)
  *(.rela.got)
  *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
  *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
  *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
  *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
  *(.rela.ifunc)
}
  .rela.plt   :
{
  *(.rela.plt)
  PROVIDE_HIDDEN (__rela_iplt_start = .);
  *(.rela.iplt)
  PROVIDE_HIDDEN (__rela_iplt_end = .);
}
  .init   :
  {
KEEP (*(SORT_NONE(.init)))
  }
  .plt: { *(.plt) *(.iplt) }
  .text   :
  {
*(.text.unlikely .text.*_unlikely)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*)
/* .gnu.warning sections are handled specially by elf32.em.  */
*(.gnu.warning)
  }
  .fini   :
  {
KEEP (*(SORT_NONE(.fini)))
  }
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1: { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame   : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table
  .gcc_except_table.*) }
  /* These sections are generated by the Sun/Oracle C++ compiler. */
  .exception_ranges   : ONLY_IF_RO { *(.exception_ranges
  .exception_ranges*) }
  /* Adjust the address for the data segment.  We want to adjust up to
 the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .)  
(CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), 
CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame   : ONLY_IF_RW { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
  .exception_ranges   : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) }
  /* Thread Local Storage sections  */
  .tdata  : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
  .tbss   : { 

Re: [yocto] [poky] Is this a bug of binutils

2013-09-22 Thread Li Zhijian

at 2013-9-23 10:34, Li Zhijian wrote:

at 2013-9-20 19:00, Laurentiu Palcu wrote:

Hi,

On Fri, Sep 20, 2013 at 06:25:19PM +0800, Li Zhijian wrote:

III) compile a simple C program
# cat test.c
int main ()
{
printf(hello world\n);
return 0;
}
# source toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
# $CC -o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm

OK, it looks like something strange happens in your setup.

To debug it, let's add '-Wl,--verbose' at the end of your command and you
should be able to see where the linker is looking for libraries. Also,
the linker script will be printed.

You should see it try your directory first
tmp/sysroots/qemux86-64/usr/lib/, and then fall through the default ones
with the sysroot prefix added and, at the end, the system ones:
/lib:/usr/lib.

Thanks,
Laurentiu


First,in this case 

Secondly,
clear all the environment setuped with environment-setup-x86_64-poky-linux 
previously and then set
--sysroot=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/tmp/sysroots/qemux86-64
In this case ,toolchain work fine

[lizj@suika x86-64-yocto-1.3]$ bash
[lizj@suika x86-64-yocto-1.3]$ 
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/x86_64-poky-linux-gcc
 
--sysroot=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/tmp/sysroots/qemux86-64 
-o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm
x86-64  -o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm -Wl,--verbose
test.c: In function 'main':
test.c:3:9: warning: incompatible implicit declaration of built-in function 
'printf' [enabled by default]
GNU ld (GNU Binutils) 2.23.1.20121113
  Supported emulations:
   elf_x86_64
   elf32_x86_64
   elf_i386
   i386linux
   elf_l1om
   elf_k1om
using internal linker script:
==
/* Script for -z combreloc: combine and sort reloc sections */
OUTPUT_FORMAT(elf64-x86-64, elf64-x86-64,
  elf64-x86-64)
OUTPUT_ARCH(i386:x86-64)
ENTRY(_start)
SEARCH_DIR(/opt/poky/1.3+snapshot/sysroots/x86_64-pokysdk-linux/usr/x86_64-poky-linux/lib64); SEARCH_DIR(=/usr/local/lib64); 
SEARCH_DIR(=/lib64); SEARCH_DIR(=/usr/lib64); SEARCH_DIR(=/usr/local/lib); SEARCH_DIR(=/lib); 
SEARCH_DIR(=/usr/lib);
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START(text-segment, 0x40)); . = 
SEGMENT_START(text-segment, 0x40) + SIZEOF_HEADERS;
  .interp : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
  .hash   : { *(.hash) }
  .gnu.hash   : { *(.gnu.hash) }
  .dynsym : { *(.dynsym) }
  .dynstr : { *(.dynstr) }
  .gnu.version: { *(.gnu.version) }
  .gnu.version_d  : { *(.gnu.version_d) }
  .gnu.version_r  : { *(.gnu.version_r) }
  .rela.dyn   :
{
  *(.rela.init)
  *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
  *(.rela.fini)
  *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
  *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
  *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
  *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
  *(.rela.ctors)
  *(.rela.dtors)
  *(.rela.got)
  *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
  *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*)
  *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*)
  *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*)
  *(.rela.ifunc)
}
  .rela.plt   :
{
  *(.rela.plt)
  PROVIDE_HIDDEN (__rela_iplt_start = .);
  *(.rela.iplt)
  PROVIDE_HIDDEN (__rela_iplt_end = .);
}
  .init   :
  {
KEEP (*(SORT_NONE(.init)))
  }
  .plt: { *(.plt) *(.iplt) }
  .text   :
  {
*(.text.unlikely .text.*_unlikely)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.text .stub .text.* .gnu.linkonce.t.*)
/* .gnu.warning sections are handled specially by elf32.em.  */
*(.gnu.warning)
  }
  .fini   :
  {
KEEP (*(SORT_NONE(.fini)))
  }
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
  .rodata1: { *(.rodata1) }
  .eh_frame_hdr : { *(.eh_frame_hdr) }
  .eh_frame   : ONLY_IF_RO { KEEP (*(.eh_frame)) }
  .gcc_except_table   : ONLY_IF_RO { *(.gcc_except_table
  .gcc_except_table.*) }
  /* These sections are generated by the Sun/Oracle C++ compiler. */
  .exception_ranges   : ONLY_IF_RO { *(.exception_ranges
  .exception_ranges*) }
  /* Adjust the address for the data segment.  We want to adjust up to
 the same address within the page on the next page up.  */
  . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .)  
(CONSTANT (MAXPAGESIZE) - 1)); . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), 
CONSTANT (COMMONPAGESIZE));
  /* Exception handling  */
  .eh_frame   : ONLY_IF_RW 

Re: [yocto] [poky] Is this a bug of binutils

2013-09-20 Thread Laurentiu Palcu
On Fri, Sep 20, 2013 at 11:43:31AM +0300, Laurentiu Palcu wrote:
 Hi,
 
 On Fri, Sep 20, 2013 at 02:45:24PM +0800, Li Zhijian wrote:
  Hi,all
  
  I got a big problem when using the cross-toolchain to compile a simple C 
  program.
  This problem since 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8
  which is to upgrade the binutils from 2.22 to 2.23.1
Apparently I missed this... Make sure you checkout
0333796a6b167dd754806700d7f771dd4a74e4ab (binutils_2.23.1.bb: Correct
typo in enable-targets configure option). This might be your problem.

Laurentiu

  
  what I do is as follows, any help or ideas ?
  
  I) Build my cross-toolchain
  # git clone http://git.yoctoproject.org/git/poky/.git
  # cd poky
  # git checkout 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8 -b tcmode-default
  ...skip some steps...
  # bitbake meta-toolchain
  Loading cache: 100% 
  ||
   ETA: 00:00:00
  Loaded 1122 entries from dependency cache.
  
  Build Configuration:
  BB_VERSION = 1.17.0
  BUILD_SYS = x86_64-linux
  NATIVELSBSTRING = CentOS-6.3
  TARGET_SYS = x86_64-poky-linux
  MACHINE = qemux86-64
  DISTRO = poky
  DISTRO_VERSION = 1.3+snapshot-20130912
  TUNE_FEATURES = m64
  TARGET_FPU = 
  meta
  meta-yocto
  meta-yocto-bsp = tcmode-default:3ae71c74c71f13a390b21b4c3ead04e51aaa82b8
  
  ..cost a long time..
  all of the build work successfully
  
  II) Install my cross-toolchain
  # ./poky-eglibc-x86_64-x86_64-toolchain-1.3+snapshot-20130912.sh
  Enter target directory for SDK (default: /opt/poky/1.3+snapshot): 
  toolchain-1.3-tcmode-default
  
  III) compile a simple C program
  # cat test.c
  int main ()
  {
  printf(hello world\n);
  return 0;
  }
  # source toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
  # $CC -o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm
 Technically, for this simple program, it's enough to do:
 
 $CC -o test test.c
 
 The $CC contains the sysroot option and the linker will automatically
 prefix /lib and /usr/lib with the target sysroot. So, it should be able
 to compile just fine.
 
 The -L option just adds another search path for libraries which will be
 searched before the default ones. So, it shouldn't be a problem.
 
 Somehow, it looks like it tries to link against the host's libraries.
 
 Before compiling, do a 'echo $CC' and make sure the --sysroot points to
 the correct directory.
 
 Laurentiu
 
  test.c: In function 'main':
  test.c:3:9: warning: incompatible implicit declaration of built-in function 
  'printf' [enabled by default]
  /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
   skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
  /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
   cannot find /lib/libc.so.6
  /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
   skipping incompatible /usr/lib/libc_nonshared.a when searching for 
  /usr/lib/libc_nonshared.a
  /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
   cannot find /usr/lib/libc_nonshared.a
  collect2: error: ld returned 1 exit status
  
  
  #cat toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
  export 
  PATH=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin:/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux:$PATH
  export 
  PKG_CONFIG_SYSROOT_DIR=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux
  export 
  PKG_CONFIG_PATH=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux/usr/lib/pkgconfig
  export 
  CONFIG_SITE=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/site-config-x86_64-poky-linux
  export CC=x86_64-poky-linux-gcc -m64 
  --sysroot=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux
  export CXX=x86_64-poky-linux-g++ -m64 
  --sysroot=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux
  export CPP=x86_64-poky-linux-gcc -E -m64 
  --sysroot=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux
  export AS=x86_64-poky-linux-as 
  export LD=x86_64-poky-linux-ld 
  

Re: [yocto] [poky] Is this a bug of binutils

2013-09-20 Thread Li Zhijian

at 2013-9-20 16:50, Laurentiu Palcu wrote:

On Fri, Sep 20, 2013 at 11:43:31AM +0300, Laurentiu Palcu wrote:

Hi,

On Fri, Sep 20, 2013 at 02:45:24PM +0800, Li Zhijian wrote:

Hi,all

I got a big problem when using the cross-toolchain to compile a simple C 
program.
This problem since 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8
which is to upgrade the binutils from 2.22 to 2.23.1

Apparently I missed this... Make sure you checkout
0333796a6b167dd754806700d7f771dd4a74e4ab (binutils_2.23.1.bb: Correct
typo in enable-targets configure option). This might be your problem.

Laurentiu

i am sorry,i don't understand what do you mean

in poky git tree,

3ae71c74c71f13a390b21b4c3ead04e51aaa82b8 is newer than 
0333796a6b167dd754806700d7f771dd4a74e4ab

this checkout 0333796a6b167dd754806700d7f771dd4a74e4ab , toolchain work fine

# git log
commit 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8
Author: Khem Raj raj.k...@gmail.com
Date:   Wed Aug 8 10:33:41 2012 -0700

tcmode-default.inc: Use binutils 2.23.1
...skip...

commit 0333796a6b167dd754806700d7f771dd4a74e4ab
Author: Khem Raj raj.k...@gmail.com
Date:   Wed Aug 8 07:57:46 2012 -0700

oprofile: Include config.h before bfd.h

oprofile uses bfd.h from binutils which now in 2.23+ expects config.h
so lets include it
...skip...


--
Best regards.
Li Zhijian



what I do is as follows, any help or ideas ?

I) Build my cross-toolchain
# git clone http://git.yoctoproject.org/git/poky/.git
# cd poky
# git checkout 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8 -b tcmode-default
...skip some steps...
# bitbake meta-toolchain
Loading cache: 100% 
||
 ETA: 00:00:00
Loaded 1122 entries from dependency cache.

Build Configuration:
BB_VERSION = 1.17.0
BUILD_SYS = x86_64-linux
NATIVELSBSTRING = CentOS-6.3
TARGET_SYS = x86_64-poky-linux
MACHINE = qemux86-64
DISTRO = poky
DISTRO_VERSION = 1.3+snapshot-20130912
TUNE_FEATURES = m64
TARGET_FPU = 
meta
meta-yocto
meta-yocto-bsp = tcmode-default:3ae71c74c71f13a390b21b4c3ead04e51aaa82b8

..cost a long time..
all of the build work successfully

II) Install my cross-toolchain
# ./poky-eglibc-x86_64-x86_64-toolchain-1.3+snapshot-20130912.sh
Enter target directory for SDK (default: /opt/poky/1.3+snapshot): 
toolchain-1.3-tcmode-default

III) compile a simple C program
# cat test.c
int main ()
{
printf(hello world\n);
return 0;
}
# source toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
# $CC -o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm

Technically, for this simple program, it's enough to do:

$CC -o test test.c

The $CC contains the sysroot option and the linker will automatically
prefix /lib and /usr/lib with the target sysroot. So, it should be able
to compile just fine.

The -L option just adds another search path for libraries which will be
searched before the default ones. So, it shouldn't be a problem.

Somehow, it looks like it tries to link against the host's libraries.

Before compiling, do a 'echo $CC' and make sure the --sysroot points to
the correct directory.

Laurentiu


test.c: In function 'main':
test.c:3:9: warning: incompatible implicit declaration of built-in function 
'printf' [enabled by default]
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 cannot find /lib/libc.so.6
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 skipping incompatible /usr/lib/libc_nonshared.a when searching for 
/usr/lib/libc_nonshared.a
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 cannot find /usr/lib/libc_nonshared.a
collect2: error: ld returned 1 exit status


#cat toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
export 
PATH=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin:/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux:$PATH
export 
PKG_CONFIG_SYSROOT_DIR=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux
export 
PKG_CONFIG_PATH=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-poky-linux/usr/lib/pkgconfig
export 

Re: [yocto] [poky] Is this a bug of binutils

2013-09-20 Thread Laurentiu Palcu
On Fri, Sep 20, 2013 at 05:56:25PM +0800, Li Zhijian wrote:
 at 2013-9-20 16:50, Laurentiu Palcu wrote:
 On Fri, Sep 20, 2013 at 11:43:31AM +0300, Laurentiu Palcu wrote:
 Hi,
 
 On Fri, Sep 20, 2013 at 02:45:24PM +0800, Li Zhijian wrote:
 Hi,all
 
 I got a big problem when using the cross-toolchain to compile a simple C 
 program.
 This problem since 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8
 which is to upgrade the binutils from 2.22 to 2.23.1
 Apparently I missed this... Make sure you checkout
 0333796a6b167dd754806700d7f771dd4a74e4ab (binutils_2.23.1.bb: Correct
 typo in enable-targets configure option). This might be your problem.
 
 Laurentiu
 i am sorry,i don't understand what do you mean
My bad, I copy-pasted the wrong sha1 (the summary was good though).
Here's the correct sha1: a8fa49fbc21d460479ecadeb1996a800cc4e3e07

Laurentiu
 
 in poky git tree,
 
 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8 is newer than 
 0333796a6b167dd754806700d7f771dd4a74e4ab
 
 this checkout 0333796a6b167dd754806700d7f771dd4a74e4ab , toolchain work fine
 
 # git log
 commit 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8
 Author: Khem Raj raj.k...@gmail.com
 Date:   Wed Aug 8 10:33:41 2012 -0700
 
 tcmode-default.inc: Use binutils 2.23.1
 ...skip...
 
 commit 0333796a6b167dd754806700d7f771dd4a74e4ab
 Author: Khem Raj raj.k...@gmail.com
 Date:   Wed Aug 8 07:57:46 2012 -0700
 
 oprofile: Include config.h before bfd.h
 
 oprofile uses bfd.h from binutils which now in 2.23+ expects config.h
 so lets include it
 ...skip...
 
 
 -- 
 Best regards.
 Li Zhijian
 
 
 what I do is as follows, any help or ideas ?
 
 I) Build my cross-toolchain
 # git clone http://git.yoctoproject.org/git/poky/.git
 # cd poky
 # git checkout 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8 -b tcmode-default
 ...skip some steps...
 # bitbake meta-toolchain
 Loading cache: 100% 
 ||
  ETA: 00:00:00
 Loaded 1122 entries from dependency cache.
 
 Build Configuration:
 BB_VERSION = 1.17.0
 BUILD_SYS = x86_64-linux
 NATIVELSBSTRING = CentOS-6.3
 TARGET_SYS = x86_64-poky-linux
 MACHINE = qemux86-64
 DISTRO = poky
 DISTRO_VERSION = 1.3+snapshot-20130912
 TUNE_FEATURES = m64
 TARGET_FPU = 
 meta
 meta-yocto
 meta-yocto-bsp = tcmode-default:3ae71c74c71f13a390b21b4c3ead04e51aaa82b8
 
 ..cost a long time..
 all of the build work successfully
 
 II) Install my cross-toolchain
 # ./poky-eglibc-x86_64-x86_64-toolchain-1.3+snapshot-20130912.sh
 Enter target directory for SDK (default: /opt/poky/1.3+snapshot): 
 toolchain-1.3-tcmode-default
 
 III) compile a simple C program
 # cat test.c
 int main ()
 {
 printf(hello world\n);
 return 0;
 }
 # source toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
 # $CC -o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm
 Technically, for this simple program, it's enough to do:
 
 $CC -o test test.c
 
 The $CC contains the sysroot option and the linker will automatically
 prefix /lib and /usr/lib with the target sysroot. So, it should be able
 to compile just fine.
 
 The -L option just adds another search path for libraries which will be
 searched before the default ones. So, it shouldn't be a problem.
 
 Somehow, it looks like it tries to link against the host's libraries.
 
 Before compiling, do a 'echo $CC' and make sure the --sysroot points to
 the correct directory.
 
 Laurentiu
 
 test.c: In function 'main':
 test.c:3:9: warning: incompatible implicit declaration of built-in 
 function 'printf' [enabled by default]
 /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
  skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
 /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
  cannot find /lib/libc.so.6
 /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
  skipping incompatible /usr/lib/libc_nonshared.a when searching for 
 /usr/lib/libc_nonshared.a
 /yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
  cannot find /usr/lib/libc_nonshared.a
 collect2: error: ld returned 1 exit status
 
 
 #cat toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
 export 
 PATH=/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin:/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux:$PATH
 export 
 

Re: [yocto] [poky] Is this a bug of binutils

2013-09-20 Thread Li Zhijian

at 2013-9-20 18:02, Laurentiu Palcu wrote:

On Fri, Sep 20, 2013 at 05:56:25PM +0800, Li Zhijian wrote:

at 2013-9-20 16:50, Laurentiu Palcu wrote:

On Fri, Sep 20, 2013 at 11:43:31AM +0300, Laurentiu Palcu wrote:

Hi,

On Fri, Sep 20, 2013 at 02:45:24PM +0800, Li Zhijian wrote:

Hi,all

I got a big problem when using the cross-toolchain to compile a simple C 
program.
This problem since 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8
which is to upgrade the binutils from 2.22 to 2.23.1

Apparently I missed this... Make sure you checkout
0333796a6b167dd754806700d7f771dd4a74e4ab (binutils_2.23.1.bb: Correct
typo in enable-targets configure option). This might be your problem.

Laurentiu

i am sorry,i don't understand what do you mean

My bad, I copy-pasted the wrong sha1 (the summary was good though).
Here's the correct sha1: a8fa49fbc21d460479ecadeb1996a800cc4e3e07


not really this fix,i build meta-toolchain on 
yocto-1.4.1(73f103bf9b2cdf985464dc53bf4f1cfd71d4531f)
and got the same problem

even at the latest poky, got the same problem

--
Best regards.
Li Zhijian



Laurentiu

in poky git tree,

3ae71c74c71f13a390b21b4c3ead04e51aaa82b8 is newer than 
0333796a6b167dd754806700d7f771dd4a74e4ab

this checkout 0333796a6b167dd754806700d7f771dd4a74e4ab , toolchain work fine

# git log
commit 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8
Author: Khem Raj raj.k...@gmail.com
Date:   Wed Aug 8 10:33:41 2012 -0700

 tcmode-default.inc: Use binutils 2.23.1
...skip...

commit 0333796a6b167dd754806700d7f771dd4a74e4ab
Author: Khem Raj raj.k...@gmail.com
Date:   Wed Aug 8 07:57:46 2012 -0700

 oprofile: Include config.h before bfd.h

 oprofile uses bfd.h from binutils which now in 2.23+ expects config.h
 so lets include it
...skip...


--
Best regards.
Li Zhijian



what I do is as follows, any help or ideas ?

I) Build my cross-toolchain
# git clone http://git.yoctoproject.org/git/poky/.git
# cd poky
# git checkout 3ae71c74c71f13a390b21b4c3ead04e51aaa82b8 -b tcmode-default
...skip some steps...
# bitbake meta-toolchain
Loading cache: 100% 
||
 ETA: 00:00:00
Loaded 1122 entries from dependency cache.

Build Configuration:
BB_VERSION = 1.17.0
BUILD_SYS = x86_64-linux
NATIVELSBSTRING = CentOS-6.3
TARGET_SYS = x86_64-poky-linux
MACHINE = qemux86-64
DISTRO = poky
DISTRO_VERSION = 1.3+snapshot-20130912
TUNE_FEATURES = m64
TARGET_FPU = 
meta
meta-yocto
meta-yocto-bsp = tcmode-default:3ae71c74c71f13a390b21b4c3ead04e51aaa82b8

..cost a long time..
all of the build work successfully

II) Install my cross-toolchain
# ./poky-eglibc-x86_64-x86_64-toolchain-1.3+snapshot-20130912.sh
Enter target directory for SDK (default: /opt/poky/1.3+snapshot): 
toolchain-1.3-tcmode-default

III) compile a simple C program
# cat test.c
int main ()
{
printf(hello world\n);
return 0;
}
# source toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
# $CC -o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm

Technically, for this simple program, it's enough to do:

$CC -o test test.c

The $CC contains the sysroot option and the linker will automatically
prefix /lib and /usr/lib with the target sysroot. So, it should be able
to compile just fine.

The -L option just adds another search path for libraries which will be
searched before the default ones. So, it shouldn't be a problem.

Somehow, it looks like it tries to link against the host's libraries.

Before compiling, do a 'echo $CC' and make sure the --sysroot points to
the correct directory.

Laurentiu


test.c: In function 'main':
test.c:3:9: warning: incompatible implicit declaration of built-in function 
'printf' [enabled by default]
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 skipping incompatible /lib/libc.so.6 when searching for /lib/libc.so.6
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 cannot find /lib/libc.so.6
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 skipping incompatible /usr/lib/libc_nonshared.a when searching for 
/usr/lib/libc_nonshared.a
/yocto/fnst/lizj/build_yocto/x86-64-yocto-1.3/toolchain-1.3-tcmode-default/sysroots/x86_64-pokysdk-linux/usr/bin/x86_64-poky-linux/../../libexec/x86_64-poky-linux/gcc/x86_64-poky-linux/4.7.2/ld:
 cannot find /usr/lib/libc_nonshared.a
collect2: error: ld returned 1 exit status


#cat toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
export 

Re: [yocto] [poky] Is this a bug of binutils

2013-09-20 Thread Laurentiu Palcu
Hi,

On Fri, Sep 20, 2013 at 06:25:19PM +0800, Li Zhijian wrote:
 
 III) compile a simple C program
 # cat test.c
 int main ()
 {
 printf(hello world\n);
 return 0;
 }
 # source toolchain-1.3-tcmode-default/environment-setup-x86_64-poky-linux
 # $CC -o test test.c -L tmp/sysroots/qemux86-64/usr/lib/ -lm
OK, it looks like something strange happens in your setup.

To debug it, let's add '-Wl,--verbose' at the end of your command and you
should be able to see where the linker is looking for libraries. Also,
the linker script will be printed.

You should see it try your directory first
tmp/sysroots/qemux86-64/usr/lib/, and then fall through the default ones
with the sysroot prefix added and, at the end, the system ones:
/lib:/usr/lib.

Thanks,
Laurentiu
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto