From: Rich Felker Date: Thu, 18 Oct 2018 15:41:47 +0000 (-0400) Subject: fix error in constraints for static link libc init barrier X-Git-Tag: v1.1.21~42 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=ba0d83e822b9ea386881feaa1e478114d147bd27;p=oweals%2Fmusl.git fix error in constraints for static link libc init barrier commit 4390383b32250a941ec616e8bff6f568a801b1c0 inadvertently used "r" instead of "0" for the input constraint, which only happened to work for the configuration I tested it on because it usually makes sense for the compiler to choose the same input and output register. --- diff --git a/src/env/__libc_start_main.c b/src/env/__libc_start_main.c index 2e5f9dcb..f9aa019d 100644 --- a/src/env/__libc_start_main.c +++ b/src/env/__libc_start_main.c @@ -80,7 +80,7 @@ int __libc_start_main(int (*main)(int,char **,char **), int argc, char **argv) /* Barrier against hoisting application code or anything using ssp * or thread pointer prior to its initialization above. */ int (*stage2)(); - __asm__ ( "" : "=r"(stage2) : "r"(libc_start_main_stage2) : "memory" ); + __asm__ ( "" : "=r"(stage2) : "0"(libc_start_main_stage2) : "memory" ); return stage2(main, argc, argv); }