[Bug 955832] New: boost regressing in 1.59 update on ppc64le
http://bugzilla.suse.com/show_bug.cgi?id=955832 Bug ID: 955832 Summary: boost regressing in 1.59 update on ppc64le Classification: openSUSE Product: openSUSE Tumbleweed Version: 2015* Hardware: PowerPC-64 OS: openSUSE 13.2 Status: NEW Severity: Normal Priority: P5 - None Component: Development Assignee: bnc-team-screening@forge.provo.novell.com Reporter: dvaleev@suse.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- In staging C we have new boost update pending to version 1.59. This breaks cmis-client. [ 317s] CXXLD test-atom [ 321s] /usr/lib64/gcc/powerpc64le-suse-linux/5/../../../../powerpc64le-suse-linux/bin/ld: ../../qa/mockup/.libs/libcmis-mockup.a(ws-relatedmultipart.o):(.toc+0x50): unresolvable R_PPC64_ADDR64 against `rand@@GLIBC_2.17' [ 321s] /usr/lib64/gcc/powerpc64le-suse-linux/5/../../../../powerpc64le-suse-linux/bin/ld: final link failed: Nonrepresentable section on output [ 321s] collect2: error: ld returned 1 exit status [ 321s] Makefile:860: recipe for target 'test-atom' failed Full log is available here: https://build.opensuse.org/package/live_build_log/devel:libraries:c_c++/cmis... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 Dinar Valeev <dvaleev@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mjwolf@us.ibm.com, | |normand@linux.vnet.ibm.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 http://bugzilla.suse.com/show_bug.cgi?id=955832#c1 --- Comment #1 from Michel Normand <normand@linux.vnet.ibm.com> --- I am able to recreate the problem in a local ppc64le guest but do not know yet the cause. === @vm61:/home/michel/work[michel@vm61:~/work] $osc co openSUSE:Factory:Staging:C:DVD cmis-client $cd openSUSE:Factory:Staging:C:DVD/cmis-client $osc build - --clean ... [ 451s] CXXLD test-gdrive [ 452s] /usr/lib64/gcc/powerpc64le-suse-linux/5/../../../../powerpc64le-suse-linux/bin/ld: ../../qa/mockup/.libs/libcmis-mockup.a(ws-relatedmultipart.o):(.toc+0x50): unresolvable R_PPC64_ADDR64 against `rand@@GLIBC_2.17' [ 452s] /usr/lib64/gcc/powerpc64le-suse-linux/5/../../../../powerpc64le-suse-linux/bin/ld: final link failed: Nonrepresentable section on output [ 452s] collect2: error: ld returned 1 exit status [ 452s] Makefile:860: recipe for target 'test-atom' failed === -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 http://bugzilla.suse.com/show_bug.cgi?id=955832#c2 --- Comment #2 from Michel Normand <normand@linux.vnet.ibm.com> --- setting the default verbosity allow to obtain the failing g++ command with its parameters, but still not obvious reason from the std-output. === ... abuild@vm61:~/rpmbuild/BUILD/libcmis-0.5.0/qa/libcmis> make test-atom AM_DEFAULT_VERBOSITY=1 /bin/sh ../../libtool --tag=CXX --mode=link g++ -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -pedantic -Weffc++ -Wshadow -Wendif-labels -Wextra -Wsign-promo -Woverloaded-virtual -Wnon-virtual-dtor -Wsign-promo -o test-atom test_atom-test-atom.o test_atom-test-helpers.o test_atom-test-main.o ../../qa/mockup/libcmis-mockup.la -lxml2 -lcppunit -lboost_date_time-mt libtool: link: g++ -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -Wall -pedantic -Weffc++ -Wshadow -Wendif-labels -Wextra -Wsign-promo -Woverloaded-virtual -Wnon-virtual-dtor -Wsign-promo -o test-atom test_atom-test-atom.o test_atom-test-helpers.o test_atom-test-main.o ../../qa/mockup/.libs/libcmis-mockup.a /usr/lib64/libxml2.so -ldl -lz -llzma -lm -lcppunit -lboost_date_time-mt -Wl,-rpath -Wl,/usr/lib64 -Wl,-rpath -Wl,/usr/lib64 /usr/lib64/gcc/powerpc64le-suse-linux/5/../../../../powerpc64le-suse-linux/bin/ld: ../../qa/mockup/.libs/libcmis-mockup.a(ws-relatedmultipart.o):(.toc+0x50): unresolvable R_PPC64_ADDR64 against `rand@@GLIBC_2.17' /usr/lib64/gcc/powerpc64le-suse-linux/5/../../../../powerpc64le-suse-linux/bin/ld: final link failed: Nonrepresentable section on output collect2: error: ld returned 1 exit status Makefile:860: recipe for target 'test-atom' failed make: *** [test-atom] Error 1 === -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 Chenzi Cao <chcao@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Rene.vanPaassen@gmail.com Assignee|bnc-team-screening@forge.pr |pth@suse.com |ovo.novell.com | -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 http://bugzilla.suse.com/show_bug.cgi?id=955832#c3 --- Comment #3 from Michel Normand <normand@linux.vnet.ibm.com> --- readelf of pointed object (ws-relatedmultipart.o) do reports I assume rand as a undefined entry (UND) readelf of libc has a global rand@@GLIBC_2.17 function So I do not understand why ld is returning the unresolvable error I would need from there to continue investigation. === abuild@vm61:~/rpmbuild/BUILD/libcmis-0.5.0/qa/libcmis> readelf -a ../../src/libcmis/.libs/ws-relatedmultipart.o |grep ' rand' 000000000100 01a300000026 R_PPC64_ADDR64 0000000000000000 rand - 1 0000000003c8 01a30000000a R_PPC64_REL24 0000000000000000 rand + 0 0000000003d4 01a30000000a R_PPC64_REL24 0000000000000000 rand + 0 0000000003e0 01a30000000a R_PPC64_REL24 0000000000000000 rand + 0 419: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND rand === abuild@vm61:~/rpmbuild/BUILD/libcmis-0.5.0/qa/libcmis> readelf -a /lib64/libc.so.6 |grep ' rand' 997: 0000000000043ea0 88 FUNC GLOBAL DEFAULT 11 rand_r@@GLIBC_2.17 1168: 0000000000043e60 60 FUNC GLOBAL DEFAULT [<localentry>: 8] 11 rand@@GLIBC_2.17 2009: 00000000000439d0 232 FUNC WEAK DEFAULT [<localentry>: 8] 11 random_r@@GLIBC_2.17 2191: 0000000000043730 312 FUNC WEAK DEFAULT [<localentry>: 8] 11 random@@GLIBC_2.17 181: 00000000001c000c 128 OBJECT LOCAL DEFAULT 27 randtbl 183: 0000000000173618 40 OBJECT LOCAL DEFAULT 14 random_poly_info 4010: 0000000000043ea0 88 FUNC GLOBAL DEFAULT 11 rand_r 4449: 0000000000043730 312 FUNC WEAK DEFAULT [<localentry>: 8] 11 random 4493: 0000000000043e60 60 FUNC GLOBAL DEFAULT [<localentry>: 8] 11 rand 5496: 00000000000439d0 232 FUNC WEAK DEFAULT [<localentry>: 8] 11 random_r === -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 Ismail Donmez <idonmez@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |idonmez@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 http://bugzilla.suse.com/show_bug.cgi?id=955832#c4 --- Comment #4 from Michel Normand <normand@linux.vnet.ibm.com> --- (In reply to Michel Normand from comment #3)
[CUT] I would need from there to continue investigation. I would need help from there to continue investigation. [CUT]
-- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 http://bugzilla.suse.com/show_bug.cgi?id=955832#c5 --- Comment #5 from Michel Normand <normand@linux.vnet.ibm.com> --- bypass only: https://build.opensuse.org/request/show/345389 to ignore make check error for ppc64le -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 http://bugzilla.suse.com/show_bug.cgi?id=955832#c6 Philipp Thomas <pth@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz@suse.com, | |pth@suse.com, | |rguenther@suse.com --- Comment #6 from Philipp Thomas <pth@suse.com> --- Adding our binutils and gcc gurus as they might be able to help. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 http://bugzilla.suse.com/show_bug.cgi?id=955832#c12 Ulrich Weigand <uweigand@de.ibm.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amodra@bigpond.net.au, | |uweigand@de.ibm.com --- Comment #12 from Ulrich Weigand <uweigand@de.ibm.com> --- (In reply to Michael Matz from comment #7)
So it wants to inspect the first couple bytes (here eight) of the std::rand function to seed some rng.
This seems a bug. It looks like the intent was to look at the *address* of the std::rand function, which would make more sense since this will profit from address space randomization on many platforms. This would also explain using the size of a function pointer as size.
Compiling this with -O2 (either with gcc or g++) produces a 'rand - 1' relocation, but binutils happily links it nevertheless.
Possibly it requires something more to trigger the problem in binutils, like a large .toc or so.
It turns out the only extra thing it requires is some *other* reference to "rand" as a normal function call in addition to the weird "rand - 1" one. Changing your test case to: ------------------------------------------------ #include <stdlib.h> #include <stdio.h> int main() { int sum = rand(); const char *p = (const char*)&rand; const char *end = p + sizeof (void (*) ()); for (; p != end; ++p) sum += *p; printf ("%d\n", sum); return 0; } ------------------------------------------------ triggers the error with "gcc -O". @Alan: Does this look like a linker bug? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 Philipp Thomas <pth@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|pth@suse.com |amajer@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.suse.com/show_bug.cgi?id=955832 http://bugzilla.suse.com/show_bug.cgi?id=955832#c16 Adam Majer <amajer@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #16 from Adam Majer <amajer@suse.com> --- Closing as current boost in Factory doesn't have this problematic code anymore. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com