From patchwork Mon Mar 2 15:58:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 38371 Received: (qmail 81146 invoked by alias); 2 Mar 2020 15:58:58 -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 81133 invoked by uid 89); 2 Mar 2020 15:58:58 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-19.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy= X-HELO: us-smtp-1.mimecast.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1583164735; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5TlHFGJzBiiGQvUEhrOdSsq9KSf/seY1JfgPp9kxDms=; b=KcQGZpxyhdJTjPZALlg7NIa8iBbcEiRlmvNRHRy3A1dJq/Byx3l9yoqFy+Y9D7mHEJULJC pqo8xJQUKUQcGZ/oefjux/lFVbQQzizNnWdsdnDegbp8Ne9SAsFphfgzsiqmHj4s8TrUI5 8N3OuR9NYp2JVrgGqxF/3YOzL3N+HtQ= From: Florian Weimer To: libc-alpha@sourceware.org Subject: [PATCH] alpha: Do not build with -fpic Date: Mon, 02 Mar 2020 16:58:48 +0100 Message-ID: <87zhcykatj.fsf@oldenburg2.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com The combination of GCC 10 and binutils 2.35 (both unreleased) is no longer able to link the dynamic linker, due to a GP16 relocation overflow error: glibc/alpha-linux-gnu/elf/librtld.os: in function `calloc': glibc/elf/../include/rtld-malloc.h:44:(.text+0xd98): relocation truncated to fit: GPREL16 against symbol `__rtld_calloc' defined in .data.rel.ro section in glibc/alpha-linux-gnu/elf/librtld.os glibc/alpha-linux-gnu/elf/librtld.os: in function `malloc': glibc/elf/../include/rtld-malloc.h:56:(.text+0x2978): relocation truncated to fit: GPREL16 against symbol `__rtld_malloc' defined in .data.rel.ro section in glibc/alpha-linux-gnu/elf/librtld.os This is arguably a linker bug; the object files and their section size requirements look reasonable enough. Using -fPIC (the default) works around this issue. ----- sysdeps/alpha/Makefile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/sysdeps/alpha/Makefile b/sysdeps/alpha/Makefile index da52c1d4d1..baf5d480e5 100644 --- a/sysdeps/alpha/Makefile +++ b/sysdeps/alpha/Makefile @@ -57,10 +57,6 @@ endif # "current" rounding mode, and it's easiest to set this with all of them. sysdep-CFLAGS += -mieee -mfp-rounding-mode=d -# libc.so requires about 16k for the small data area, which is well -# below the 64k maximum. -pic-ccflag = -fpic - # Software floating-point emulation. ifeq ($(subdir),soft-fp)