[llvm-dev] COMPILER-RT build break
Izhar, Ziv via llvm-dev
llvm-dev at lists.llvm.org
Mon Oct 31 01:53:40 PDT 2016
Hello,
There is a problem in the compiler-rt project regarding a new change I need to make.
The change is that in extended gcc syntax, when the same register is in the input/output list and in the clobber list, there is a conflict and llvm should produce an error.
Until now, it didn't produce an error.
In compiler-rt's tests, there's a test which shouldn't generate an error but after the patch it does. Therefore, we need to correct the test (which is not correct according to extended gcc).
The review regarding the new error message is : https://reviews.llvm.org/D15075
What is the process in compiler-rt in order to accept and commit that change?
The change which needed to be made is:
Index: lib/asan/tests/asan_asm_test.cc
===================================================================
--- lib/asan/tests/asan_asm_test.cc (revision 285517)
+++ lib/asan/tests/asan_asm_test.cc (working copy)
@@ -62,7 +62,7 @@
__asm__("rep " Movs " \n\t" \
: \
: "D"(dst), "S"(src), "c"(size) \
- : "rsi", "rdi", "rcx", "memory"); \
+ : "memory"); \
}
DECLARE_ASM_WRITE(U8, "8", "movq", "r");
@@ -104,7 +104,7 @@
__asm__("rep " Movs " \n\t" \
: \
: "D"(dst), "S"(src), "c"(size) \
- : "esi", "edi", "ecx", "memory"); \
+ : "memory"); \
}
} // End of anonymous namespace
The error before this change:
Current problem with the build after patch:
[100%] Generating ASAN_NOINST_TEST_OBJECTS.asan_noinst_test.cc.x86_64-with-calls.o
/home/mzuckerm/llvm23/llvm/projects/compiler-rt/lib/asan/tests/asan_asm_test.cc:70:1: error: asm-specifier for input or output
variable conflicts with asm clobber list
DECLARE_ASM_REP_MOVS(U8, "movsq");
^
/home/mzuckerm/llvm23/llvm/projects/compiler-rt/lib/asan/tests/asan_asm_test.cc:65:15: note: expanded from macro
'DECLARE_ASM_REP_MOVS'
: "rsi", "rdi", "rcx", "memory"); \
^
/home/mzuckerm/llvm23/llvm/projects/compiler-rt/lib/asan/tests/asan_asm_test.cc:129:1: error: asm-specifier for input or output
variable conflicts with asm clobber list
DECLARE_ASM_REP_MOVS(U1, "movsb");
^
/home/mzuckerm/llvm23/llvm/projects/compiler-rt/lib/asan/tests/asan_asm_test.cc:65:15: note: expanded from macro
'DECLARE_ASM_REP_MOVS'
: "rsi", "rdi", "rcx", "memory"); \
^
/home/mzuckerm/llvm23/llvm/projects/compiler-rt/lib/asan/tests/asan_asm_test.cc:130:1: error: asm-specifier for input or output
variable conflicts with asm clobber list
DECLARE_ASM_REP_MOVS(U2, "movsw");
^
/home/mzuckerm/llvm23/llvm/projects/compiler-rt/lib/asan/tests/asan_asm_test.cc:65:15: note: expanded from macro
'DECLARE_ASM_REP_MOVS'
: "rsi", "rdi", "rcx", "memory"); \
^
/home/mzuckerm/llvm23/llvm/projects/compiler-rt/lib/asan/tests/asan_asm_test.cc:131:1: error: asm-specifier for input or output
variable conflicts with asm clobber list
DECLARE_ASM_REP_MOVS(U4, "movsl");
^
/home/mzuckerm/llvm23/llvm/projects/compiler-rt/lib/asan/tests/asan_asm_test.cc:65:15: note: expanded from macro
'DECLARE_ASM_REP_MOVS'
: "rsi", "rdi", "rcx", "memory"); \
^
4 errors generated.
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161031/051a4b0e/attachment-0001.html>
More information about the llvm-dev
mailing list