[Bug 1764701] [NEW] produces broken binary: Inconsistency detected by ld.so [regression gcc-7 7.3.0-15ubuntu2 => 7.3.0-16ubuntu2]

Julian Andres Klode 1764701 at bugs.launchpad.net
Tue Apr 17 09:39:46 UTC 2018


Public bug reported:

The adequate test suite fails because one of the test binaries built
cannot be read by ld.so:

Inconsistency detected by ld.so: dl-lookup.c: 111: check_match:
Assertion `version->filename == NULL || ! _dl_name_match_p
(version->filename, map)' failed!


Test case is to go into tests/testpkg, run

 $PWD/debian/rules clean build

which runs:

cc -shared -Wl,--soname=libadequate-test-versionless.so.0 -Wl,--version-script=verscript-global lib.c -o debian/tmp/libadequate-test-versionless.so.0
ln -sf libadequate-test-versionless.so.0 debian/tmp/libadequate-test-versionless.so
cc undef.c -Ldebian/tmp -o debian/tmp/adequate-test-msvi -ladequate-test-versionless
cc -shared -Wl,--soname=libadequate-test-versionless.so.0 lib.c -o debian/tmp/libadequate-test-versionless.so.0


and then

 LD_LIBRARY_PATH=$PWD/debian/tmp/ ldd -r debian/tmp/adequate-test-msvi


fails with the error. Using gcc-7 7.3.0-15ubuntu2 works, but -16ubuntu2 fails. It's only the library that fails (adequate-test-msvi from 16u2 works fine with LD_LIBRARY_PATH set to 15u2 build, fails with 16u2 LD_LIBRARY_PATH).

Running diffoscope on the libraries (https://jak-
linux.org/lib.diff2.html) revealed that 2 sections are missing from the
library in 16u2: .gnu_version and .gnu_version_r.

** Affects: gcc-7 (Ubuntu)
     Importance: High
         Status: New

** Changed in: gcc-7 (Ubuntu)
   Importance: Undecided => High

** Summary changed:

- Regression gcc-7 7.3.0-15ubuntu2 => 7.3.0-16ubuntu2
+ produces broken binary: Inconsistency detected by ld.so [regression gcc-7 7.3.0-15ubuntu2 => 7.3.0-16ubuntu2]

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-7 in Ubuntu.
https://bugs.launchpad.net/bugs/1764701

Title:
  produces broken binary: Inconsistency detected by ld.so [regression
  gcc-7 7.3.0-15ubuntu2 => 7.3.0-16ubuntu2]

Status in gcc-7 package in Ubuntu:
  New

Bug description:
  The adequate test suite fails because one of the test binaries built
  cannot be read by ld.so:

  Inconsistency detected by ld.so: dl-lookup.c: 111: check_match:
  Assertion `version->filename == NULL || ! _dl_name_match_p
  (version->filename, map)' failed!

  
  Test case is to go into tests/testpkg, run

   $PWD/debian/rules clean build

  which runs:

  cc -shared -Wl,--soname=libadequate-test-versionless.so.0 -Wl,--version-script=verscript-global lib.c -o debian/tmp/libadequate-test-versionless.so.0
  ln -sf libadequate-test-versionless.so.0 debian/tmp/libadequate-test-versionless.so
  cc undef.c -Ldebian/tmp -o debian/tmp/adequate-test-msvi -ladequate-test-versionless
  cc -shared -Wl,--soname=libadequate-test-versionless.so.0 lib.c -o debian/tmp/libadequate-test-versionless.so.0

  
  and then

   LD_LIBRARY_PATH=$PWD/debian/tmp/ ldd -r debian/tmp/adequate-test-msvi

  
  fails with the error. Using gcc-7 7.3.0-15ubuntu2 works, but -16ubuntu2 fails. It's only the library that fails (adequate-test-msvi from 16u2 works fine with LD_LIBRARY_PATH set to 15u2 build, fails with 16u2 LD_LIBRARY_PATH).

  Running diffoscope on the libraries (https://jak-
  linux.org/lib.diff2.html) revealed that 2 sections are missing from
  the library in 16u2: .gnu_version and .gnu_version_r.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-7/+bug/1764701/+subscriptions



More information about the foundations-bugs mailing list