Browse Source

fix error in constraints for static link libc init barrier

commit 4390383b32 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.
master
Rich Felker 8 years ago
parent
commit
ba0d83e822
  1. 2
      src/env/__libc_start_main.c

2
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);
}

Loading…
Cancel
Save