Movatterモバイル変換
[0]ホーム
This is the mail archive of thelibc-alpha@sourceware.orgmailing list for theglibc project.
Re: [PATCH] _dl_start: Remove internal_function attribute
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Mon, 14 Aug 2017 05:30:24 -0700
- Subject: Re: [PATCH] _dl_start: Remove internal_function attribute
- Authentication-results: sourceware.org; auth=none
On Mon, Aug 14, 2017 at 3:29 AM, Florian Weimer <fweimer@redhat.com> wrote:> The i386 startup code needs adjusting because it calls the function> and the ABI has changed.>> 2017-08-14 Florian Weimer <fweimer@redhat.com>>> * elf/rtld.c (_dl_start): Remove internal_function.> * sysdeps/i386/dl-machine.h (RTLD_START): Adjust call to> _dl_start.>> diff --git a/elf/rtld.c b/elf/rtld.c> index 1772f89ea8..d8e75c02e6 100644> --- a/elf/rtld.c> +++ b/elf/rtld.c> @@ -439,7 +439,7 @@ _dl_start_final (void *arg, struct dl_start_final_info *info)> return start_addr;> }>> -static ElfW(Addr) __attribute_used__ internal_function> +static ElfW(Addr) __attribute_used__> _dl_start (void *arg)> {> #ifdef DONT_USE_BOOTSTRAP_MAP> diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h> index 9ee9d02c36..924de953b7 100644> --- a/sysdeps/i386/dl-machine.h> +++ b/sysdeps/i386/dl-machine.h> @@ -150,9 +150,11 @@ extern ElfW(Addr) _dl_profile_fixup (struct link_map *l,> .globl _start\n\> .globl _dl_start_user\n\> _start:\n\> - # Note that _dl_start gets the parameter in %eax.\n\> movl %esp, %eax\n\> + subl $12, %esp\n\> + pushl %eax\n\> call _dl_start\n\> + addl $16, %esp\n\> _dl_start_user:\n\> # Save the user entry point address in %edi.\n\> movl %eax, %edi\n\CFI adjustments are missing.-- H.J.
[8]ページ先頭