| Summary: | Incorrect detection of toolchain support for Cortex-A53 erratum 835769 workaround | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Akos Kiss <akiss> | ||||
| Component: | Tools / Tests | Assignee: | Nobody <webkit-unassigned> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | berto, commit-queue, ossy | ||||
| Priority: | P2 | ||||||
| Version: | 528+ (Nightly build) | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Attachments: |
|
||||||
|
Description
Akos Kiss
2014-11-18 11:39:03 PST
Created attachment 241797 [details]
Proposed patch.
Comment on attachment 241797 [details]
Proposed patch.
r=me
Comment on attachment 241797 [details] Proposed patch. Clearing flags on attachment: 241797 Committed r176314: <http://trac.webkit.org/changeset/176314> All reviewed patches have been landed. Closing bug. This fails in Debian, likely because of the -fuse-ld=gold flag: /usr/bin/c++ -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wall -DENABLE_YARR_JIT=0 -DENABLE_ASSEMBLER=0 -DNDEBUG -std=c++11 -mfix-cortex-a53-835769 -fno-exceptions -fno-strict-aliasing -fno-rtti -Wl,-z,relro -Wl,--as-needed -fuse-ld=gold -Wl,--disable-new-dtags CMakeFiles/LLIntOffsetsExtractor.dir/llint/LLIntOffsetsExtractor.cpp.o -o ../../bin/LLIntOffsetsExtractor -rdynamic ../../lib/libWTFGTK.a -ldl ../../lib/libbmalloc.a -licui18n -licuuc -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lpthread -lz /usr/bin/ld.gold: --fix-cortex-a53-835769: unknown option /usr/bin/ld.gold: use the --help option for usage information collect2: error: ld returned 1 exit status Full log here: https://buildd.debian.org/status/fetch.php?pkg=webkit2gtk&arch=arm64&ver=2.8.1%2Bdfsg1-1&stamp=1430218110 Thanks for the report, I'll check and try to fix it soon. I guess something like this might be enough:
--- a/Source/cmake/OptionsCommon.cmake
+++ b/Source/cmake/OptionsCommon.cmake
@@ -57,6 +57,7 @@ if (WTF_CPU_ARM64_CORTEXA53)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfix-cortex-a53-835769")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfix-cortex-a53-835769")
message(STATUS "Enabling Cortex-A53 workaround for compiler")
+ set(USE_LD_GOLD OFF)
endif ()
endif ()
I think I found the root of the problem. This errata detection is placed before the gold linker detection. It tries to detect if the default system linker supports --fix-cortex-a53-835769 and later uses gold linker for the real build. Do we know why only the BFD linker supports this errata fix? Is there a gold linker version which supports it? |