New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 750722 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Aug 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocking:
issue 750434



Sign in to add a comment

Build broken on ClangToTAndroid (dbg), ClangToTAndroid x64

Project Member Reported by thakis@chromium.org, Jul 31 2017

Issue description

Started here:

https://luci-milo.appspot.com/buildbot/chromium.fyi/ClangToTAndroid%20%28dbg%29/1627

FAILED: clang_x86_v8_arm/libc++.cr.so clang_x86_v8_arm/libc++.cr.so.TOC 
python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="readelf" --nm="nm" --sofile="clang_x86_v8_arm/libc++.cr.so" --tocfile="clang_x86_v8_arm/libc++.cr.so.TOC" --output="clang_x86_v8_arm/libc++.cr.so"  -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--no-as-needed -lpthread -Wl,--as-needed -fuse-ld=gold -B../../third_party/binutils/Linux_x64/Release/bin -Wl,--threads -Wl,--thread-count=4 -Wl,--icf=all -nodefaultlibs -m32 -Wl,--gdb-index --sysroot=../../build/linux/debian_jessie_i386-sysroot -L../../build/linux/debian_jessie_i386-sysroot/lib/i386-linux-gnu -Wl,-rpath-link=../../build/linux/debian_jessie_i386-sysroot/lib/i386-linux-gnu -L../../build/linux/debian_jessie_i386-sysroot/usr/lib/i386-linux-gnu -Wl,-rpath-link=../../build/linux/debian_jessie_i386-sysroot/usr/lib/i386-linux-gnu -L../../build/linux/debian_jessie_i386-sysroot/lib/i586-linux-gnu -Wl,-rpath-link=../../build/linux/debian_jessie_i386-sysroot/lib/i586-linux-gnu -L../../build/linux/debian_jessie_i386-sysroot/usr/lib/i586-linux-gnu -Wl,-rpath-link=../../build/linux/debian_jessie_i386-sysroot/usr/lib/i586-linux-gnu -Werror -Wl,-u_sanitizer_options_link_helper -o "clang_x86_v8_arm/libc++.cr.so" -Wl,-soname="libc++.cr.so" @"clang_x86_v8_arm/libc++.cr.so.rsp"
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/algorithm.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/chrono.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/condition_variable.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/debug.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/future.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/ios.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/iostream.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/iostream.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/locale.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/memory.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/mutex.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/new.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/random.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/regex.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/stdexcept.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/string.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/strstream.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/system_error.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++/libc++/thread.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++abi/libc++abi/cxa_default_handlers.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++abi/libc++abi/cxa_demangle.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++abi/libc++abi/cxa_handlers.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++abi/libc++abi/cxa_personality.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++abi/libc++abi/fallback_malloc.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: warning: clang_x86_v8_arm/obj/buildtools/third_party/libc++abi/libc++abi/stdlib_stdexcept.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/binutils/Linux_x64/Release/bin/ld.gold: error: treating warnings as errors
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)


Reminds me vaguely of issue 733133 but is probably something else.
 

Comment 1 by thakis@chromium.org, Jul 31 2017

bad 309528 good 309516

Comment 2 by thakis@chromium.org, Jul 31 2017

Cc: blaikie@google.com
From ` svn log -r309517:309528  https://nico@llvm.org/svn/llvm-project`, it has to be:

------------------------------------------------------------------------
r309526 | dblaikie | 2017-07-30 18:10:00 -0400 (Sun, 30 Jul 2017) | 15 lines

DebugInfo: Use base address selection entries in debug_ranges to reduce relocations

(from comments in the test)
Group ranges in a range list that apply to the same section and use a base
address selection entry to reduce the number of relocations to one reloc per
section per range list. DWARF5 debug_rnglist will be more efficient than this
in terms of relocations, but it's still better than one reloc per entry in a
range list.

This is an object/executable size tradeoff - shrinking objects, but growing
the linked executable. In one large binary tested, total object size (not just
debug info) shrank by 16%, entirely relocation entries. Linked executable
grew by 4%. This was with compressed debug info in the objects, uncompressed
in the linked executable. Without compression in the objects, the win would be
smaller (the growth of debug_ranges itself would be more significant).




blaikie: Is this expected? If so, can we get a flag to opt out of this?

Comment 3 by thakis@chromium.org, Jul 31 2017

On https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.fyi%2FClangToTAndroid_x64%2F1251%2F%2B%2Frecipes%2Fsteps%2Fcompile%2F0%2Fstdout too:

FAILED: android_clang_x86/libskia.cr.so android_clang_x86/libskia.cr.so.TOC android_clang_x86/lib.unstripped/libskia.cr.so 
python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="../../third_party/android_tools/ndk/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-readelf" --nm="../../third_party/android_tools/ndk/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-nm" --strip=../../third_party/android_tools/ndk/toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-strip --sofile="android_clang_x86/lib.unstripped/libskia.cr.so" --tocfile="android_clang_x86/libskia.cr.so.TOC" --output="android_clang_x86/libskia.cr.so"  -- ../../third_party/llvm-build/Release+Asserts/bin/clang++ -shared -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -Wl,--as-needed --gcc-toolchain=../../third_party/android_tools/ndk/toolchains/x86-4.9/prebuilt/linux-x86_64 -fuse-ld=gold -Wl,--no-undefined -Wl,--exclude-libs=libgcc.a -Wl,--exclude-libs=libc++_static.a -Wl,--exclude-libs=libvpx_assembly_arm.a --target=i686-linux-androideabi -m32 -Wl,--gdb-index -nostdlib -Wl,--warn-shared-textrel --sysroot=../../third_party/android_tools/ndk/platforms/android-16/arch-x86 -Werror -Wl,--warn-shared-textrel -Wl,-O1 -Wl,--gc-sections -Wl,-wrap,calloc -Wl,-wrap,free -Wl,-wrap,malloc -Wl,-wrap,memalign -Wl,-wrap,posix_memalign -Wl,-wrap,pvalloc -Wl,-wrap,realloc -Wl,-wrap,valloc -L../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libs/x86 -o "android_clang_x86/lib.unstripped/libskia.cr.so" -Wl,-soname="libskia.cr.so" @"android_clang_x86/libskia.cr.so.rsp"
../../third_party/android_tools/ndk/toolchains/x86-4.9/prebuilt/linux-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld.gold: warning: android_clang_x86/obj/skia/skia/SkLightingImageFilter.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/android_tools/ndk/toolchains/x86-4.9/prebuilt/linux-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld.gold: warning: android_clang_x86/obj/skia/skia/SkPerlinNoiseShader.o: DWARF info may be corrupt; offsets in a range list entry are in different sections
../../third_party/android_tools/ndk/toolchains/x86-4.9/prebuilt/linux-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld.gold: error: treating warnings as errors
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)

Comment 4 by thakis@chromium.org, Jul 31 2017

Summary: Build broken on ClangToTAndroid (dbg), ClangToTAndroid x64 (was: Build broken on ClangToTAndroid (dbg))
Status: Fixed (was: Unconfirmed)
Got reverted upstream for now (http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170731/474846.html)

Sign in to add a comment