[Buildroot] [buildroot 0000652]: rev 12223 breaks g++: undefined reference to `dl_iterate_phdr'

bugs at busybox.net bugs at busybox.net
Mon Feb 12 13:49:16 UTC 2007


The following issue has been ASSIGNED. 
====================================================================== 
http://busybox.net/bugs/view.php?id=652 
====================================================================== 
Reported By:                ensc
Assigned To:                buildroot
====================================================================== 
Project:                    buildroot
Issue ID:                   652
Category:                   Architecture Specific
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
====================================================================== 
Date Submitted:             01-20-2006 04:33 PST
Last Modified:              02-12-2007 05:49 PST
====================================================================== 
Summary:                    rev 12223 breaks g++: undefined reference to
`dl_iterate_phdr'
Description: 
SVN revision 12223 breaks the g++ compiler; now, I get:

| $ echo 'int main() { }' >bar.cc
| $ g++ bar.cc
| /usr/lib/gcc/arm-xscale-linux-uclibc/4.0.2/libgcc_s.so: undefined
reference to `dl_iterate_phdr'

Going back to revision 12211 of toolchain/gcc/4.0.2/100-uclibc-conf.patch
makes g++ work again.

====================================================================== 

---------------------------------------------------------------------- 
 vapier - 01-20-06 10:09  
---------------------------------------------------------------------- 
looks more like your toolchain is broken

libgcc_s.so should be linked against libc.so which should be linked
against ld-uClibc.so which contains the dl_iterate_phdr symbol 

---------------------------------------------------------------------- 
 ensc - 01-21-06 02:03  
---------------------------------------------------------------------- 
ok, then it's an 'uClibc' bug. ld-uClibc.so does not contain this
symbol. The code

| #ifdef __USE_GNU
| #if ! defined LIBDL || (! defined PIC && ! defined __PIC__)
| int
| __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info, size_t
size, void *data), void *data)

in uClibc-0.9.28/ldso/ldso/dl-elf.c gets never be evaluated because
'__USE_GNU' is not defined. 

---------------------------------------------------------------------- 
 ensc - 01-21-06 02:30  
---------------------------------------------------------------------- 
Correction: the static 'libdl.a' contains this symbol because in
ldso/libdl/libdl.c the '__USE_GNU' macro will be defined.

But this does not happen in ldso/ldso/ 

---------------------------------------------------------------------- 
 vapier - 01-23-06 07:57  
---------------------------------------------------------------------- 
this has been fixed in uClibc head already, search the uClibc mailing lists
for a patch for 0.9.28 if you wish to use that version 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
01-20-06 04:33  ensc           New Issue                                    
01-20-06 04:33  ensc           Status                   new => assigned     
01-20-06 04:33  ensc           Assigned To               => uClibc          
01-20-06 10:09  vapier         Note Added: 0000959                          
01-21-06 02:03  ensc           Note Added: 0000969                          
01-21-06 02:30  ensc           Note Added: 0000970                          
01-23-06 07:57  vapier         Note Added: 0000980                          
01-23-06 07:57  vapier         Status                   assigned => closed  
01-23-06 07:57  vapier         Resolution               open => fixed       
02-12-07 05:49  vapier         Status                   closed => assigned  
02-12-07 05:49  vapier         Assigned To              uClibc => buildroot 
======================================================================




More information about the buildroot mailing list