소스 검색

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.
Rich Felker 6 년 전
부모
커밋
ba0d83e822
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      src/env/__libc_start_main.c

+ 1 - 1
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);
 }