From ba0d83e822b9ea386881feaa1e478114d147bd27 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 18 Oct 2018 11:41:47 -0400 Subject: [PATCH] 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. --- src/env/__libc_start_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); } -- 2.25.1