From patchwork Mon May 11 16:42:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 38950 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5DB743893670; Mon, 11 May 2020 16:42:24 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from albireo.enyo.de (albireo.enyo.de [37.24.231.21]) by sourceware.org (Postfix) with ESMTPS id 9416B3890413 for ; Mon, 11 May 2020 16:42:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9416B3890413 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=deneb.enyo.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=fw@deneb.enyo.de Received: from [172.17.203.2] (helo=deneb.enyo.de) by albireo.enyo.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) id 1jYBVU-0008Hr-97 for libc-alpha@sourceware.org; Mon, 11 May 2020 16:42:20 +0000 Received: from fw by deneb.enyo.de with local (Exim 4.92) (envelope-from ) id 1jYBVU-0000Cd-54 for libc-alpha@sourceware.org; Mon, 11 May 2020 18:42:20 +0200 From: Florian Weimer To: libc-alpha@sourceware.org Subject: [PATCH v2 0/3] Further interposition removals from ld.so [BZ #25486] Message-Id: Date: Mon, 11 May 2020 18:42:20 +0200 MIME-Version: 1.0 X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This series completes the removal of symbol interposition between ld.so and libc.so, after introducing a mechanism to handle thread-local memory in the dynamic loader. Florian Weimer (3): ld.so: Turn tls_init_tp_called into global __rtld_tls_init_tp_called scripts/localplt.awk: Handle DT_JMPREL with empty PLT (for C-SKY) elf: Rework exception handling in the dynamic loader [BZ #25486] elf/Makefile | 6 +- elf/Versions | 6 - elf/{dl-error-skeleton.c => dl-catch.c} | 139 +++++++++--------- elf/dl-error-minimal.c | 23 --- elf/dl-error.c | 27 ---- elf/rtld.c | 12 +- nptl/descr.h | 3 + scripts/localplt.awk | 18 ++- sysdeps/generic/ldsodefs.h | 11 +- sysdeps/generic/localplt.data | 5 - sysdeps/mach/hurd/i386/localplt.data | 9 +- sysdeps/mach/hurd/i386/tls.h | 3 + sysdeps/unix/sysv/linux/aarch64/localplt.data | 5 - sysdeps/unix/sysv/linux/alpha/localplt.data | 5 - sysdeps/unix/sysv/linux/arm/localplt.data | 5 - sysdeps/unix/sysv/linux/csky/localplt.data | 5 - sysdeps/unix/sysv/linux/hppa/localplt.data | 5 - sysdeps/unix/sysv/linux/i386/localplt.data | 5 - sysdeps/unix/sysv/linux/ia64/localplt.data | 5 - .../sysv/linux/m68k/coldfire/localplt.data | 5 - .../unix/sysv/linux/m68k/m680x0/localplt.data | 5 - .../unix/sysv/linux/microblaze/localplt.data | 5 - sysdeps/unix/sysv/linux/nios2/localplt.data | 5 - .../linux/powerpc/powerpc32/fpu/localplt.data | 5 - .../powerpc/powerpc32/nofpu/localplt.data | 5 - .../linux/powerpc/powerpc64/localplt.data | 5 - sysdeps/unix/sysv/linux/riscv/localplt.data | 5 - sysdeps/unix/sysv/linux/s390/localplt.data | 5 - sysdeps/unix/sysv/linux/sh/localplt.data | 5 - .../sysv/linux/sparc/sparc32/localplt.data | 5 - .../sysv/linux/sparc/sparc64/localplt.data | 5 - sysdeps/x86_64/localplt.data | 5 - 32 files changed, 114 insertions(+), 248 deletions(-) rename elf/{dl-error-skeleton.c => dl-catch.c} (80%) delete mode 100644 elf/dl-error-minimal.c delete mode 100644 elf/dl-error.c