From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/11829 Path: news.gmane.org!.POSTED!not-for-mail From: Michael Forney Newsgroups: gmane.linux.lib.musl.general Subject: [musl-cross-make] [PATCH] Fix LINUX_ARCH for aarch64-* TARGET Date: Sun, 20 Aug 2017 13:30:33 -0700 Message-ID: <20170820203033.19393-1-mforney@mforney.org> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1503261067 16138 195.159.176.226 (20 Aug 2017 20:31:07 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 20 Aug 2017 20:31:07 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-11842-gllmg-musl=m.gmane.org@lists.openwall.com Sun Aug 20 22:31:04 2017 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.84_2) (envelope-from ) id 1djWsA-0003vv-I3 for gllmg-musl@m.gmane.org; Sun, 20 Aug 2017 22:31:02 +0200 Original-Received: (qmail 16039 invoked by uid 550); 20 Aug 2017 20:31:05 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 15982 invoked from network); 20 Aug 2017 20:31:03 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mforney-org.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id; bh=QWEaOfkh1kj96sqL5HYsSidRt5T5uhOt7VYp54sWkRU=; b=efNHxQGrhHGglEGAWrpi8iWLG+qgUv0JgQ7Y5HhOOStyWRXiZK5c1R9F5jRAfcj2l+ 5yq3lA5Td84hJfefDSHiXj9M35WooOCQhpkl0zMYGmyWsGFVjvqvwBklC5CfnS813qnJ Ool6ptw2ujudm14HJGhAC/dfumMfxk1+FOpy0qpGGnQNC9MDUURBA0KkbBzr1wIlnjfc KP55fw1qgNhSqhFwre3rf7A+qL1nb3qPT7fwFrvH585obsIFjg14T/YM6LA/nWkjRRv4 DNgczwV/9BCFcEIii7JoUzqSug25wzsRdhpcH3F3PUkTCY5UTodPlmZRYtlOStEUTlbX jgAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=QWEaOfkh1kj96sqL5HYsSidRt5T5uhOt7VYp54sWkRU=; b=g68K2Fr1G7rkC6dQQUX8vSy4EMyi1W9qHGXsZonRzHISysdGt4s5BfwRXkmmY6vHSM ofwHXx7BoGmntOqTXVzjZHxOYIpigzSMH63b1KfbtF5Iu7pVjZF6fcfKKMbLDVZz1KHg dDBNMt77ibZzMYTSeHE3c96fxcJnIkDNPTby5dcZscYr/baAi1Eyk4+oOedmnC3b+3R8 bGNt8l14CGGTvvVI0On+QwBAIytLeSRoRujWPZJhZ2DqHbxFX+MwSsyzAfFbh9/eTlIO VHq3GLeus43r0L9emcI8fq3jAje/t8119LlTe6/SdxOI7/KhZmbxn2EsBhyijo1ofVQg +udA== X-Gm-Message-State: AHYfb5iUzNO1aS0GsmpxGXPG5vNG5k2C1/phIvDcRXVVXgWSwNWoI2iq 4XtSsAA1CDYPC643myD5MA== X-Received: by 10.84.216.30 with SMTP id m30mr14545977pli.385.1503261051792; Sun, 20 Aug 2017 13:30:51 -0700 (PDT) X-Mailer: git-send-email 2.14.0 Xref: news.gmane.org gmane.linux.lib.musl.general:11829 Archived-At: 'aarch64' is converted to 'arm64' in the TARGET_ARCH_MANGLED assignment, but then LINUX_ARCH is set the first to the first linux arch which appears in TARGET_ARCH_MANGLED. Since 'arm' is a substring of 'arm64' and appears ahead of 'arm64' in sorted order, it gets chosen incorrectly. To fix this, use 'lastword' instead of 'firstword'. This should work for all current linux architectures, but is still not perfect in the theoretical case where the substring match is not rooted at the beginning of TARGET_ARCH_MANGLED. So, also replace 'findstring' with an 'if' and 'filter'. --- litecross/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/litecross/Makefile b/litecross/Makefile index 371affb..46584fd 100644 --- a/litecross/Makefile +++ b/litecross/Makefile @@ -206,7 +206,7 @@ ifneq ($(LINUX_SRCDIR),) TARGET_ARCH = $(firstword $(subst -, ,$(TARGET))) TARGET_ARCH_MANGLED = $(patsubst i%86,x86,$(patsubst aarch64%,arm64%,$(TARGET_ARCH))) LINUX_ARCH_LIST = $(sort $(notdir $(wildcard $(LINUX_SRCDIR)/arch/*))) -LINUX_ARCH = $(firstword $(foreach a,$(LINUX_ARCH_LIST),$(findstring $(a),$(TARGET_ARCH_MANGLED)))) +LINUX_ARCH = $(lastword $(foreach a,$(LINUX_ARCH_LIST),$(if $(filter $(a)%,$(TARGET_ARCH_MANGLED)),$(a)))) ifneq ($(LINUX_ARCH),) all: kernel-headers install: install-kernel-headers -- 2.14.0