diff options
-rwxr-xr-x | configure | 3 | ||||
-rw-r--r-- | linux-user/main.c | 21 |
2 files changed, 1 insertions, 23 deletions
@@ -2364,10 +2364,9 @@ if test "$target_softmmu" = "yes" ; then fi if test "$target_user_only" = "yes" -a "$static" = "no" -a \ - "$user_pie" = "yes" ; then + "$user_pie" = "yes" ; then cflags="-fpie $cflags" ldflags="-pie $ldflags" - echo "CONFIG_USER_PIE=y" >> $config_mak fi if test "$target_softmmu" = "yes" -a \( \ diff --git a/linux-user/main.c b/linux-user/main.c index f3455c5a3e..81a1ada50b 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -48,27 +48,6 @@ int have_guest_base; static const char *interp_prefix = CONFIG_QEMU_PREFIX; const char *qemu_uname_release = CONFIG_UNAME_RELEASE; -/* for recent libc, we add these dummy symbols which are not declared - when generating a linked object (bug in ld ?) */ -#if ((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && \ - !defined(CONFIG_STATIC)) && !defined(CONFIG_USER_PIE) -asm(".globl __preinit_array_start\n" - ".globl __preinit_array_end\n" - ".globl __init_array_start\n" - ".globl __init_array_end\n" - ".globl __fini_array_start\n" - ".globl __fini_array_end\n" - ".section \".rodata\"\n" - "__preinit_array_start:\n" - "__preinit_array_end:\n" - "__init_array_start:\n" - "__init_array_end:\n" - "__fini_array_start:\n" - "__fini_array_end:\n" - ".long 0\n" - ".previous\n"); -#endif - /* XXX: on x86 MAP_GROWSDOWN only works if ESP <= address + 32, so we allocate a bigger stack. Need a better solution, for example by remapping the process stack directly at the right place */ |