Bug 754695 - some symbols can't be found in libc.so.6
some symbols can't be found in libc.so.6
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: glibc (Show other bugs)
16
x86_64 Linux
unspecified Severity unspecified
: ---
: ---
Assigned To: Jeff Law
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-11-17 07:03 EST by Sergei Nikulov
Modified: 2016-11-24 10:54 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-12-08 01:44:50 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Sergei Nikulov 2011-11-17 07:03:18 EST
Description of problem:
ELDK-3.1.1 cross compiler linker broken on Fedora 16, but works on 14,15.

Version-Release number of selected component (if applicable):
Fedora 16 x86_64
[sergey@solarwind-vm ~]$ uname -a
Linux solarwind-vm 3.1.1-1.fc16.x86_64 #1 SMP Fri Nov 11 21:47:56 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

ELDK-3.1.1 from here http://www.denx.de/wiki/DULG/ELDKAvailability

How reproducible:
Install ELDK-3.1.1 (some prerequisites here http://www.denx.de/wiki/view/DULG/ELDKUsageIn64BitEnvironment).
Try compile minimal C program with ppc_8xx-gcc to get executable file.


Steps to Reproduce:
1. create C source file. "int main() {return 0;}" enough
2. try compile it with ppc_8xx-gcc
  
Actual results:
[sergey@solarwind-vm ~]$ eldk/3.1.1/usr/bin/ppc_8xx-gcc tstcomp.c 
/home/sergey/eldk/3.1.1/usr/bin/../lib/gcc-lib/ppc-linux/3.3.3/../../../../ppc-linux/bin/ld: warning: ld.so.1, needed by /home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6, not found (try using -rpath or -rpath-link)
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_lookup_versioned_symbol_skip@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_rtld_global@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_lookup_versioned_symbol@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_start_profile@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_check_map_versions@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_mcount@GLIBC_2.1'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `__libc_enable_secure@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_get_origin@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_dst_substitute@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_debug_state@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_init@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `__libc_stack_end@GLIBC_2.1'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_dst_count@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_out_of_memory@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_signal_error@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_debug_printf@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_r_debug@GLIBC_2.0'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_map_object_deps@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_unload_cache@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_relocate_object@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_argv@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_catch_error@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_lookup_symbol_skip@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_lookup_symbol@GLIBC_PRIVATE'
/home/sergey/eldk/3.1.1/usr/../ppc_8xx/lib/libc.so.6: undefined reference to `_dl_map_object@GLIBC_PRIVATE'
collect2: ld returned 1 exit status
[sergey@solarwind-vm ~]$ 

Expected results:
ppc_8xx binary created successfully, since no breaking changes found in release notice for Fedora16

Additional info:
Will provide additional info upon request.
Comment 1 Sergej Stepanov 2011-12-07 08:54:20 EST
No action?
I know, it is old, but anyway, is here some progress?
Comment 2 Jeff Law 2011-12-07 12:19:41 EST
I'm just getting my head around everything that needs to be taken care of in glibc-land.  This is in the queue to investigate, but just not at the top of the queue yet.
Comment 3 Jeff Law 2011-12-08 01:44:50 EST
Those symbols are for use within glibc only, any applications which reference those symbols are simply broken.  The decision was made to (finally) make those symbols unavailable to applications in F16.

You need to contact the folks that put together ELDK to fix their software.

Sorry
Comment 4 Jakub Jelinek 2011-12-08 02:52:45 EST
In this case the actual bug is that you have another binary libc.so.6 somewhere in the search path, but don't have other compatible glibc libraries, including the dynamic linker.
Comment 5 Sergei Nikulov 2011-12-08 07:18:43 EST
@Jakub Jelinek - The problem is that it was working on any prior F16 releases, but  now it is not.  

@Jeff Law - It is the matter of binary compatibility. If it is intentional decision to break it - go ahead. But don't forget to mention it in Release notes.
Comment 6 Jeff Law 2011-12-08 11:59:11 EST
Yes, it's a binary compatibility issue and the change should have been in the release notes.  Both the decision to remove the private symbols and the lack of a note pre-date my involvement in day-to-date glibc activities for Fedora.
Comment 7 Sergej Stepanov 2011-12-08 15:59:25 EST
Hello once again.

I may be some off  topic and would not say I had some boring.
Such strings I have found with "strace -f ppc_8xx-gcc -v test.c" on 2 different computer with F16.

1...
[pid 14027] lstat64("/opt/eldk-3.1/usr/bln/ppc-linux-ld", 0xffbef650) = -1 ENOENT (No such file or directory)

It should be "/opt/eldk-3.1/usr/bin/ppc-linux-ld"

2...
[pid 17497] lstat64("/opt/eldk/usr/lib/gcc-lib/.li../bin/upc-linux-ld", 0xff9b2280) = -1 ENOENT (No such file or directory)

It should be:
/opt/eldk/usr/lib/gcc-lib/../../bin/ppc-linux-ld

I can be wrong...
May i have some memory problem?

Note You need to log in before you can comment on or make changes to this bug.