[Bug gold/13857] New: "WARNING: Absolute relocations present" compiling Linux kernel using -Wl,--icf=safe
http://sourceware.org/bugzilla/show_bug.cgi?id=13857 Bug #: 13857 Summary: "WARNING: Absolute relocations present" compiling Linux kernel using -Wl,--icf=safe Product: binutils Version: 2.22 Status: NEW Severity: normal Priority: P2 Component: gold AssignedTo: i...@airs.com ReportedBy: doctorwho...@gmail.com CC: ccout...@google.com Classification: Unclassified I compiled Linux kernel 3.2.9 with Gentoo and CK patches and used the Gold linker 1.11 from binutils 2.22. I added additional linker flags to the Makefile including -Wl,--icf=safe. After compiling, I saw the error message: WARNING: Absolute relocations present Offset Info Type Sym.Value Sym.Name c1029fa2 00950401 R_386_32 c15fe000 __init_end c1029fa7 00950501 R_386_32 c159 __init_begin c102a16b 00950401 R_386_32 c15fe000 __init_end c1595bcd 00916701 R_386_32 c15fe000 __smp_locks_end c1595bd2 00916801 R_386_32 c15fe000 __smp_locks c15a098a 00950401 R_386_32 c15fe000 __init_end c15a0990 00950501 R_386_32 c159 __init_begin c15a0a5f 00950401 R_386_32 c15fe000 __init_end c15a0a67 00950501 R_386_32 c159 __init_begin c142fd48 009d0001 R_386_32 c15314b0 __start___ksymtab_gpl_future c142fd4c 009d0101 R_386_32 c15314b0 __stop___ksymtab_gpl_future c142fd50 009d0201 R_386_32 c1536640 __start___kcrctab_gpl_future I removed -Wl,--icf=safe and recompiled and did not receive the error again. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/13855] internal error, aborting at elf64-x86-64.c line 3396 in elf_x86_64_relocate_section
http://sourceware.org/bugzilla/show_bug.cgi?id=13855 brunobg at gmail dot com changed: What|Removed |Added CC||brunobg at gmail dot com -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/13855] New: internal error, aborting at elf64-x86-64.c line 3396 in elf_x86_64_relocate_section
http://sourceware.org/bugzilla/show_bug.cgi?id=13855 Bug #: 13855 Summary: internal error, aborting at elf64-x86-64.c line 3396 in elf_x86_64_relocate_section Product: binutils Version: 2.21 Status: NEW Severity: critical Priority: P2 Component: ld AssignedTo: unassig...@sourceware.org ReportedBy: brun...@gmail.com Classification: Unclassified ld breaks on compiling berkelium (www.berkelium.org), with: internal error, aborting at elf64-x86-64.c line 3396 in elf_x86_64_relocate_section Here's the complete output: Linking CXX shared library liblibberkelium_d.so /usr/bin/cmake -E cmake_link_script CMakeFiles/libberkelium.dir/link.txt --verbose=1 /usr/bin/c++ -fPIC -Woverloaded-virtual -g -Wl,--no-as-needed -g -shared -fvisibility=hidden -fvisibility-inlines-hidden -fPIC -pthread -fno-rtti -shared -Wl,-soname,liblibberkelium_d.so -o liblibberkelium_d.so CMakeFiles/libberkelium.dir/src/Berkelium.o CMakeFiles/libberkelium.dir/src/Context.o CMakeFiles/libberkelium.dir/src/Cursor.o CMakeFiles/libberkelium.dir/src/ContextImpl.o CMakeFiles/libberkelium.dir/src/ForkedProcessHook.o CMakeFiles/libberkelium.dir/src/NavigationController.o CMakeFiles/libberkelium.dir/src/RenderWidget.o CMakeFiles/libberkelium.dir/src/MemoryRenderViewHost.o CMakeFiles/libberkelium.dir/src/Root.o CMakeFiles/libberkelium.dir/src/ScriptUtilImpl.o CMakeFiles/libberkelium.dir/src/ScriptVariant.o CMakeFiles/libberkelium.dir/src/StringUtil.o CMakeFiles/libberkelium.dir/src/Window.o CMakeFiles/libberkelium.dir/src/WindowImpl.o CMakeFiles/libberkelium.dir/src/DevToolsHttpProtocolHandler.o -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/app -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/base -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/base/allocator -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/ipc -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/jingle -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/chrome -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/chrome/default_plugin -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/net -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/media -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/webkit -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/sandbox -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/skia -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/remoting -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/remoting/proto -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/printing -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/v8/tools/gyp -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/v8/src/extensions/experimental -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/gpu -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/ui/gfx -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/gfx -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/sdch -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/build/temp_gyp -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/seccompsandbox -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/third_party/undoview -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/ppapi -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/third_party/ffmpeg -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/third_party/openmax -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/third_party/harfbuzz -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/third_party/libjingle -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/third_party/hunspell -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/third_party/icu -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/third_party/libevent -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/out/Release/obj.target/third_party/libxml -L/home/corollarium/htdocs/gitberkelium/build/chromium/src/o
[Bug gold/13850] init_array/fini_array sections are not in PT_GNU_RELRO as -z relro is given
http://sourceware.org/bugzilla/show_bug.cgi?id=13850 Ian Lance Taylor changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #2 from Ian Lance Taylor 2012-03-15 16:33:43 UTC --- Thanks for letting us know. Fixed. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gold/13850] init_array/fini_array sections are not in PT_GNU_RELRO as -z relro is given
http://sourceware.org/bugzilla/show_bug.cgi?id=13850 --- Comment #1 from cvs-commit at gcc dot gnu.org 2012-03-15 16:32:31 UTC --- CVSROOT:/cvs/src Module name:src Changes by:i...@sourceware.org2012-03-15 16:32:22 Modified files: gold : ChangeLog layout.cc Log message: PR gold/13850 * layout.cc (Layout::make_output_section): Correctly mark SHT_INIT_ARRAY, et. al., as relro. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/ChangeLog.diff?cvsroot=src&r1=1.884&r2=1.885 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gold/layout.cc.diff?cvsroot=src&r1=1.222&r2=1.223 -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug gold/13850] New: init_array/fini_array sections are not in PT_GNU_RELRO as -z relro is given
http://sourceware.org/bugzilla/show_bug.cgi?id=13850 Bug #: 13850 Summary: init_array/fini_array sections are not in PT_GNU_RELRO as -z relro is given Product: binutils Version: 2.23 (HEAD) Status: NEW Severity: normal Priority: P2 Component: gold AssignedTo: i...@airs.com ReportedBy: petec...@gmail.com CC: ccout...@google.com Classification: Unclassified Hi, Recently I'm studying RELRO and find that compared to gnu ld, gold produces a different result (e.g., .init_array section did not go into PT_GNU_RELRO as linking with -z relro). In the following diff, please find the condition, "&& type == elfcpp::SHT_PROGBITS", that causes the different behavior. Looks like this condition is not necessary (or should be moved into an inner "if"). Any comment? diff --git a/gold/layout.cc b/gold/layout.cc index a4ef31a..13f7ea1 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -1368,29 +1368,28 @@ Layout::make_output_section(const char* name, elfcpp::Elf_Word type, else if (is_prefix_of(".fini_array", name)) type = elfcpp::SHT_FINI_ARRAY; } // FIXME: const_cast is ugly. Target* target = const_cast(¶meters->target()); os = target->make_output_section(name, type, flags); } // With -z relro, we have to recognize the special sections by name. // There is no other way. bool is_relro_local = false; if (!this->script_options_->saw_sections_clause() && parameters->options().relro() - && type == elfcpp::SHT_PROGBITS && (flags & elfcpp::SHF_ALLOC) != 0 && (flags & elfcpp::SHF_WRITE) != 0) { if (strcmp(name, ".data.rel.ro") == 0) is_relro = true; else if (strcmp(name, ".data.rel.ro.local") == 0) { is_relro = true; is_relro_local = true; } else if (type == elfcpp::SHT_INIT_ARRAY || type == elfcpp::SHT_FINI_ARRAY || type == elfcpp::SHT_PREINIT_ARRAY) is_relro = true; - Thanks, Pete -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils