From patchwork Mon Aug 14 10:29:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 801132 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-83074-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="MXFxk9jp"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xWBgm1J90z9t31 for ; Mon, 14 Aug 2017 20:29:55 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:to:subject:mime-version:content-type :content-transfer-encoding:message-id:from; q=dns; s=default; b= Zj04eKT5eMBNSE1z4MQ58lSBcxnnnqXH/VKGGJgdNKYNuyxluv0i1jmZwvxuseXx 7b0026TqOZyqWkhS3mmNzO2Fl/LqKX3c/+zZUQSGFGnz8ylNzkRvvOjrI/OPcLar ggy1X6WNGXc6fseKkSilGMqAJjFXSbmEo7w2PzC03m4= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:to:subject:mime-version:content-type :content-transfer-encoding:message-id:from; s=default; bh=CzGAki 8P7E2WjjKzXx8BkhYJ9NI=; b=MXFxk9jpew2DbK7Nf6pB0mQtrpC9RAo3rWgI4n HZu5CDxHztki2tO11O7QKKcT7j4jFEL3vNm0rRXci5Mxyab6YA4Rd4JgjyFTH2hF l/kCQK+lk6URi+xTlbniRmTde7QeiZr/wByBMfJSRxwFD4O9PWzcg2GxCMPNAiMS Lu7j8= Received: (qmail 94929 invoked by alias); 14 Aug 2017 10:29:32 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 78720 invoked by uid 89); 14 Aug 2017 10:29:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1209 X-HELO: mx1.redhat.com DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 0F52719D06E Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=fweimer@redhat.com Date: Mon, 14 Aug 2017 12:29:15 +0200 To: libc-alpha@sourceware.org Subject: [PATCH] _dl_fini: Remove internal_function attribute User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Message-Id: <20170814102915.440114016719B@oldenburg.str.redhat.com> From: fweimer@redhat.com (Florian Weimer) The i386 startup code needs adjusting because it calls the function and the ABI has changed. 2017-08-14 Florian Weimer * 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\