[llvm-dev] COMPILER-RT build break

Hal Finkel via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 31 10:06:27 PDT 2016


----- Original Message -----

> From: "Ziv via llvm-dev Izhar" <llvm-dev at lists.llvm.org>
> To: llvm-dev at lists.llvm.org
> Cc: "Michael Zuckerman" <michael.zuckerman at intel.com>
> Sent: Monday, October 31, 2016 3:53:40 AM
> Subject: [llvm-dev] COMPILER-RT build break

> 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?
We use the same review process for compiler-rt as we use for LLVM itself. I recommend that you upload the patch to reviews.llvm.org, and make sure that you add llvm-commits as a subscriber (along with any other compiler-rt developers that seem relevant). 

Thanks again, 
Hal 

> 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.
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

-- 

Hal Finkel 
Lead, Compiler Technology and Programming Languages 
Leadership Computing Facility 
Argonne National Laboratory 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161031/5972f696/attachment.html>


More information about the llvm-dev mailing list