From patchwork Wed May 22 01:32:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 164762 Delivered-To: patch@linaro.org Received: by 2002:a92:9e1a:0:0:0:0:0 with SMTP id q26csp261925ili; Tue, 21 May 2019 18:32:44 -0700 (PDT) X-Google-Smtp-Source: APXvYqxLJ2H4deaObhDLOfSyKlCmzM9A0MOgwf3u3y1suAFBtiYeMmQJD7YG+3wTEXDDyy2NqrpX X-Received: by 2002:aa7:8acb:: with SMTP id b11mr91767737pfd.115.1558488764066; Tue, 21 May 2019 18:32:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558488764; cv=none; d=google.com; s=arc-20160816; b=GNZtusNTe2ATUqkZwNk4ox7Yvrqnoo9y9ZNTbxFP5EW2Ep3zERKghr3Y5SHCU9J6Rx cg/5IK7ey1ZoxnjBDanYF5V/SMrbWR4s7h15FXvF12k51YcVlO8NnJ5Fk5A7GNthu66S wVv+G0rEctTIwEJza1rdsXle+TLxlGxvIHevqc1ViSr3PzJEFaitsLlwyWaP8e0TccwL CXjs/+4XU7P5VamqnwFVXCk9XFO7qv+QKKg6vGjw4vFQGl8vH9qnBSgKp8nacXO/ulYo cbmO9AaLAHyjyDCwym5LrEvO9Gx2gvdvi0rS3QD0wV7/l2uJTq2OVWyCWfglEa4sFUKF TqvQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:message-id:date:to:from:dkim-signature:delivered-to; bh=gheBKn4y7v80yjP1n4CBUooe7CLpi8JBUae5IBmj5nM=; b=HSCiKtSvHOD52v/tUGCG1cyVXbc7rbnHfbnskCRrV/hB6XbkLo9wkjJQ2bPnCfy+Cr 7GVZEcz5e4EeqVzQYqjUSSMfVQf64QrmKemPe8wJUtEMVX9JvgSZQOY2vsC/lq1zQomI qppr0S7PzHJs3uBFAvqkJXdq9QB9tSqGxFUoAWWvTPekHNXYMmvDKM1RdFDTfDmHJQld rLpuvi4zhD+yhLTtN4g5RnvQw+94sO7mHhJn5ZEt3/+bFdTQJgic6RceUfeUCF387kSb nKpcCORbUaiRwrip82AYQD9te++/YihhN3arJSvj4+rudqyibiJDCCy92ehPt0YOEZev djgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Bcu5EQGf; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from mail.openembedded.org (mail.openembedded.org. [140.211.169.62]) by mx.google.com with ESMTP id i5si20704626pfr.52.2019.05.21.18.32.43; Tue, 21 May 2019 18:32:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) client-ip=140.211.169.62; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=Bcu5EQGf; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from ec2-34-214-78-129.us-west-2.compute.amazonaws.com (localhost [127.0.0.1]) by mail.openembedded.org (Postfix) with ESMTP id E47F97E35E; Wed, 22 May 2019 01:32:37 +0000 (UTC) X-Original-To: openembedded-core@lists.openembedded.org Delivered-To: openembedded-core@lists.openembedded.org Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by mail.openembedded.org (Postfix) with ESMTP id 535457E34E for ; Wed, 22 May 2019 01:32:36 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id n27so424851pgm.4 for ; Tue, 21 May 2019 18:32:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=m3c1fWREmhAR9Aa/fqD3j/+/vDnTBnGCqfqwlRI7+4g=; b=Bcu5EQGfdAhJbDxZJ3fXKpsNx6u4QZ6GsHXkamQP6+OO97+20uNxCr3FGZteeg75V/ PAVq+/ruq5yHo5es9jsVwzDI96Gwuc8AEKfbnrAqukxx7auwEukLTmorVpwrtA7cDrHD B0UUaiJL3aVY2XQgHQZVJo9PQgKdYIUC5Ak+0OgVxecSyNOdKJKq8o5w84ikMRhq5IHa nLp4c5qbbgTOKJsLxNdrXG02BIe45+BFajUpxDTzJPsS2R90DVv8j6Aezv/eXGMVDrPd CbhB6bnNIUCxAVEUNk3pyVx3lmlsiJF2rU1b/EO4ljBekAYURqwHMUFiq0P5EWsovEzq xiag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=m3c1fWREmhAR9Aa/fqD3j/+/vDnTBnGCqfqwlRI7+4g=; b=flTkdxDuwnpU9s3gLucC78k6yX6M6RJ5zB6AKhLExiBjrqQmF7W8QEBtYK2cg3KlIR /5lGJlCzVWJatzA4bsGohL7UYHRAa5sfyT/WbDm6MVnPKrWGGNx6I8nbQ1ibFEm3npxp HrioJNFrkKdFQkuGST2ihdXpUXYqdqXk2gE1SeQwKZ0i5MWjCfleHdly1Mmsz4wC0Ypq X6Td16jmFVxvLHXXzU4b1XUE0Dwi/Nn2QY7N4ILQv3j8X+prXlf5a8VJybSZjceo4pS4 7NSyc/arrFe7Ka6pb71O3f2by2dhslPTM89JhiGsw7R54N75a/8nIy++aDuqtVRZc8nH 7Jlg== X-Gm-Message-State: APjAAAUVJNGKOz6x7Hk231ivYEt+C+m6ETQ6ivdyAkK89gzux6RgPXhG p7L8y28E90Egmtr+XqOG0Y8782qSQCE= X-Received: by 2002:a62:ac0c:: with SMTP id v12mr9755915pfe.59.1558488756808; Tue, 21 May 2019 18:32:36 -0700 (PDT) Received: from apollo.hsd1.ca.comcast.net ([2601:646:8500:6bc6::3506]) by smtp.gmail.com with ESMTPSA id p64sm34197147pfp.72.2019.05.21.18.32.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 May 2019 18:32:36 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Date: Tue, 21 May 2019 18:32:26 -0700 Message-Id: <20190522013228.7591-1-raj.khem@gmail.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Subject: [OE-core] [PATCH 1/3] musl-obstack: Add recipe X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: openembedded-core-bounces@lists.openembedded.org Errors-To: openembedded-core-bounces@lists.openembedded.org obstacks from GNUlib is used in some OE-Core packages e.g. elfutils and other packages outside OE-Core, this recipe helps provide this functionality standalone on musl systems, and helps in getting full versions of dependent packages Signed-off-by: Khem Raj --- meta/recipes-core/musl/musl-obstack.bb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 meta/recipes-core/musl/musl-obstack.bb -- 2.21.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core diff --git a/meta/recipes-core/musl/musl-obstack.bb b/meta/recipes-core/musl/musl-obstack.bb new file mode 100644 index 0000000000..9a9f04dac6 --- /dev/null +++ b/meta/recipes-core/musl/musl-obstack.bb @@ -0,0 +1,22 @@ +# Copyright (C) 2019 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "A standalone library to implement GNU libc's obstack" +DESCRIPTION = "copy + paste of the obstack functions and macros found in GNU gcc libiberty library for use with musl libc" +HOMEPAGE = "https://github.com/pullmoll/musl-obstack" +LICENSE = "GPL-2.0+" +LIC_FILES_CHKSUM = "file://COPYING;md5=3d23e4eef8243efcaab6f0a438078932" +SECTION = "libs" + +PV = "1.1" +SRCREV = "d2ad66b0df44a4b784956f7f7f2717131ddc05f4" +SRC_URI = "git://github.com/pullmoll/musl-obstack" + +UPSTREAM_CHECK_COMMITS = "1" + +inherit autotools + +S = "${WORKDIR}/git" + +COMPATIBLE_HOST = ".*-musl.*" + From patchwork Wed May 22 01:32:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 164763 Delivered-To: patch@linaro.org Received: by 2002:a92:9e1a:0:0:0:0:0 with SMTP id q26csp262162ili; Tue, 21 May 2019 18:33:06 -0700 (PDT) X-Google-Smtp-Source: APXvYqwnJSbQnB/cwOsSC3Bap9vlGr/ILjFbUqkQpAZEJ8cJUXRoas3KkZI7JOwpJVTwS9aEhf4N X-Received: by 2002:a62:2b94:: with SMTP id r142mr1326550pfr.184.1558488786143; Tue, 21 May 2019 18:33:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558488786; cv=none; d=google.com; s=arc-20160816; b=GbxVF8kwx2GDxvGzU7ngHgsNZTg8xtNKWOJhEy88Ms2eQTJHretcXNgYEzx6pY/3ik BSYTaGkM68ftgsLhHC9dWzp03Y8iGfGEmDrdkE6PFzNZYPTieuqDbnNV54p7A2d0Y/ag CgtYJILypWW5yhIV2Z4ZU2GzRlOiuycoSvhfpxSptyx1OwLOr2kUsH+j+BNF47c9G+lJ fCeFrmPh8huOojrvRHohiCMGp7IZ4SjNlledI5AehNaLO4ZrCI9Gvc13dbTtFU4Bp4dB NUvzwdkG7GbYKVeBL19Ou7B890Kz39ZxeH4uP842uYQJMPhhYRGGh82M/V7trsDqtrau UU0A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:references:in-reply-to:message-id:date:to:from :dkim-signature:delivered-to; bh=isy01eaCJ4mrm96wbw6g5lLHpws+wO/8QT3Spzgo8Og=; b=qG1aNTgDPvY7S+p0r9jwJDRwtcrvF/r3kVUH6dT0xcn6LXamoySLhtZ9fVwHMD0lBA IDiebZ2oRIDucWhBUOkZBhenKOM8PzUGqGbsDhMUK9jfgKdf3xJbrCFJFs3AP66TYQMt cZZAjrYF6qK3RrbldgQScX6S8ZlZv8qRST0AQ5jb3zgTrW6JGYe7AGOXVKcJi2YJiC+f 5Y8v1VYpsTNHaP+DEj2wgEllJstLo6SrJ6uO7DOq6YYpKaCuQLM8XU20Bzadk+JkA6YL rqm+cUfUOsIiB94rnI70h7VmYrpdmLunT5LIiutUyQ5Yz7nRhTHnBQv2J3x0W+Vj1k// 01MQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=vWvt4boj; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from mail.openembedded.org (mail.openembedded.org. [140.211.169.62]) by mx.google.com with ESMTP id i16si6083107pgh.549.2019.05.21.18.33.05; Tue, 21 May 2019 18:33:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) client-ip=140.211.169.62; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=vWvt4boj; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from ec2-34-214-78-129.us-west-2.compute.amazonaws.com (localhost [127.0.0.1]) by mail.openembedded.org (Postfix) with ESMTP id 7058D7E367; Wed, 22 May 2019 01:33:03 +0000 (UTC) X-Original-To: openembedded-core@lists.openembedded.org Delivered-To: openembedded-core@lists.openembedded.org Received: from mail-pg1-f195.google.com (mail-pg1-f195.google.com [209.85.215.195]) by mail.openembedded.org (Postfix) with ESMTP id D12797E34E for ; Wed, 22 May 2019 01:32:36 +0000 (UTC) Received: by mail-pg1-f195.google.com with SMTP id e17so275594pgo.9 for ; Tue, 21 May 2019 18:32:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5ZWhW3YeUko+GE0SNNEZO9vdhXZW9RkHzQIzcU5aQ2w=; b=vWvt4bojn7J8z3Ic5VGRXU1fZrzJM2Cyz6mlK7qhA4pbLsCge9Xj/u2BkMoU3VXf5d GiKKMtRFnja7b1uBjCwIcSVPzcxQinWD/2/LiO/0JBCu/DJdkTEIRdZf+G5WjZsNmgQF qoOwE6rjkIfz2rfb9j2XLk0ss1qWHvuWI0jHKoM6QCP27gn6p+ENO2Vn5bPjPasEMlI5 CRLfhC1ZPdeE8g2oy+mfJ5U/4c3jvGLroHXfeQY3rkGmseZ7yt61LZgsa5SEjbrACC9g N4SAhGtPwiTB7UYNgkNBFUpFf6qn3v6lwj2XDQb9bvkp7lRU530jnvjIIxxDKAJtgs2W PI+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5ZWhW3YeUko+GE0SNNEZO9vdhXZW9RkHzQIzcU5aQ2w=; b=STSDJ5gBaaBPito5RoxPSlSjfwntDNQgZ5u0N8B+R9/iVvCLZDhEaHR8iPdeSArXmZ Bb3qbggeFhgXlXeMPNLku/uxrABPwTQSMfoY6vWC+kkbgT6FD+zBWJB0/OOZbFQEm2Ns dzayXPCJgN44iq6X9AbA1U4RTenYtqcPLwUMEIqG6AW11nSB2r7mo2HIO655rMGppT6M qW8uZFuKgcmnzWSiN8h7wK6MJN1p5kL1dl4mBMw6Buhf1pHBWdClh9O0ht5TKTL/ViLM wwkuBv3VARzVDdoNcYhl27lFc/llJMK8Yce2FBFKhoXuS7I9eMlMswiPQ+rAam914HVi XwcQ== X-Gm-Message-State: APjAAAWAei4w3sYex7tcBtgTgfbgo/0Ndd5T5qFyxoLADgpiRn/dCMcu wzstAHBFVtwAsMbSr50djQxqb+9Tuyk= X-Received: by 2002:a62:fb18:: with SMTP id x24mr27328348pfm.76.1558488757453; Tue, 21 May 2019 18:32:37 -0700 (PDT) Received: from apollo.hsd1.ca.comcast.net ([2601:646:8500:6bc6::3506]) by smtp.gmail.com with ESMTPSA id p64sm34197147pfp.72.2019.05.21.18.32.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 May 2019 18:32:37 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Date: Tue, 21 May 2019 18:32:27 -0700 Message-Id: <20190522013228.7591-2-raj.khem@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190522013228.7591-1-raj.khem@gmail.com> References: <20190522013228.7591-1-raj.khem@gmail.com> MIME-Version: 1.0 Subject: [OE-core] [PATCH 2/3] maintainers: Account for musl-obstack and libssp-nonshared X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: openembedded-core-bounces@lists.openembedded.org Errors-To: openembedded-core-bounces@lists.openembedded.org Signed-off-by: Khem Raj --- meta/conf/distro/include/maintainers.inc | 2 ++ 1 file changed, 2 insertions(+) -- 2.21.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 67a51cdecc..2c10b104de 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -382,6 +382,7 @@ RECIPE_MAINTAINER_pn-libsm = "Armin Kuster " RECIPE_MAINTAINER_pn-libsndfile1 = "Tanu Kaskinen " RECIPE_MAINTAINER_pn-libsolv = "Anuj Mittal " RECIPE_MAINTAINER_pn-libsoup-2.4 = "Anuj Mittal " +RECIPE_MAINTAINER_pn-libssp-nonshared = "Khem Raj " RECIPE_MAINTAINER_pn-libtasn1 = "Anuj Mittal " RECIPE_MAINTAINER_pn-libtest-needs-perl = "Tim Orling " RECIPE_MAINTAINER_pn-libtheora = "Alexander Kanavin " @@ -512,6 +513,7 @@ RECIPE_MAINTAINER_pn-mtd-utils = "Denys Dmytriyenko " RECIPE_MAINTAINER_pn-mtdev = "Anuj Mittal " RECIPE_MAINTAINER_pn-mtools = "Anuj Mittal " RECIPE_MAINTAINER_pn-musl = "Khem Raj " +RECIPE_MAINTAINER_pn-musl-obstack = "Khem Raj " RECIPE_MAINTAINER_pn-musl-utils = "Khem Raj " RECIPE_MAINTAINER_pn-mx-1.0 = "Anuj Mittal " RECIPE_MAINTAINER_pn-nasm = "Richard Purdie " From patchwork Wed May 22 01:32:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 164764 Delivered-To: patch@linaro.org Received: by 2002:a92:9e1a:0:0:0:0:0 with SMTP id q26csp262225ili; Tue, 21 May 2019 18:33:11 -0700 (PDT) X-Google-Smtp-Source: APXvYqztEKeGa+ZLzp+yve/Qb6IhCHAfAuRl3YCwW80x4erXASX8/Oiap1uNRUqhDqliBI1Q94gK X-Received: by 2002:a17:902:28c9:: with SMTP id f67mr67673163plb.190.1558488791352; Tue, 21 May 2019 18:33:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558488791; cv=none; d=google.com; s=arc-20160816; b=GOdXgl87SsKJdAK3F04nDS5PDZD2hPaQw/vaYIoMN60KjBoYiJG+YNxLsNYeURpKHP 4/dpPczTkKf2IpMhthgIf9QkYEYeVmb1+Dkj2p0eD5f9/Sz+fl5V1rNRrHhbJ1Wv2BkC 2+qiSxVUwR+fpJkEEG0QGej9FkGpZNkd5DkBpghS4Yy2R/kYUkORV5Gf8HCuUQXpqDqF a2TF/j/h3ZVfsTIHTSOnQ7UcBJo8kCQ9nU1a2pSEwT1xwkXFXTlmAcV83yPC5jo+crAD HZTf9jgyyqosxogIlX34N7wT+H2CWL7ZzBS0CISQmviN1NGqVUMtx6mo3c4rjQx3GFYa Qkvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:sender:content-transfer-encoding:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:references:in-reply-to:message-id:date:to:from :dkim-signature:delivered-to; bh=b+8q6ArhNHAbZKvSMrALKuke/a1isOTuUNBFLEiLG4U=; b=VDn51jcoDYhDKbOET7NaNReKOdszHTbcF+z1gkO6ASMUOoPpGP/2Txbd2o9gMuOvKV 5ABqsgI+QmBwMoQ1j0Cjpn2mp8fSlH6kIanYpIrhyMG28icVkknWq6APkOZsTcW+ON9A 958pHlTLXFqQJZUa2Bxkc17TSfRUsaH9cxwxImzVOafJktAjAoTz3UtNIdMbTG6y99Eg oo06nEf5gb9/UUGu47xKYkBcJT7xjCTMAhwZdHO4JdZ4sn7eX2eAOpf5c877UszDFYNr F/zmReesZpBuD4LeZp1hXRavmGPeiNZsOAHEDnsaYF910Zjwym/gcRO1jaBH7wUZqopD MsRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=OLrRSt1y; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from mail.openembedded.org (mail.openembedded.org. [140.211.169.62]) by mx.google.com with ESMTP id 189si25563014pff.281.2019.05.21.18.33.11; Tue, 21 May 2019 18:33:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) client-ip=140.211.169.62; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=OLrRSt1y; spf=pass (google.com: best guess record for domain of openembedded-core-bounces@lists.openembedded.org designates 140.211.169.62 as permitted sender) smtp.mailfrom=openembedded-core-bounces@lists.openembedded.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from ec2-34-214-78-129.us-west-2.compute.amazonaws.com (localhost [127.0.0.1]) by mail.openembedded.org (Postfix) with ESMTP id C474B7E36C; Wed, 22 May 2019 01:33:04 +0000 (UTC) X-Original-To: openembedded-core@lists.openembedded.org Delivered-To: openembedded-core@lists.openembedded.org Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by mail.openembedded.org (Postfix) with ESMTP id 5B39E7E365 for ; Wed, 22 May 2019 01:32:38 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id n27so424885pgm.4 for ; Tue, 21 May 2019 18:32:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Dqa3W6Qa+F5g4aCbwBMjkoXvkz+GzblnesHZRpkdPxE=; b=OLrRSt1ysI4dplhvxsBI8JiM5le6QH5Qb5BHEaD/d6YAmmGa0SDNOttbGV5LEzxYJK aEH0XiL9G9qCqsd2Xf7tRssqdc6rJ/HLL8cJ+e7m5biznpo1C//v0moeKX5jVrEXaEsj RDWabAXg095t8SVV4fsg/OWnKFjDNaVFgH6wqV3o83qypWO6sPNMgO3bHzdF7UY/xU8w knwcuIJfsH34xbjB6avzHB1LN0ODc/WYuIRWScuJsh/CZmU8kVoGkNzq2+DPG6LhpGHS aOgEPvlx82RTv/+VYkvRdW0rWAPPtgbBWQYubZcMS26MMaiFF4sepwRXbCHbgSP6AEbG uwwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Dqa3W6Qa+F5g4aCbwBMjkoXvkz+GzblnesHZRpkdPxE=; b=sUtclkFE2yHG+1LrQ16EcSQtxxDJ83HfUKHmQPWgztECDA7O0/YqaaQwBMlF/ac+8h 2xZml4MTNebwVJ/eRKVKUasdvQceq9kP0OXiugrPmcff6NNlZQX06s4uUF9UTa2v6wBp ht7aVokndcf2hiTDu3c/IEoIs+Sph2NPjzQ3iVnL3SMZPqgE30qKs6XiB/3R5bS6ztrU zrDlrrijQoizk51dWpX81v5sFyrnU49kde8SoyxBf/gAUFHtN3vpOdSg73E4F/+c2tJ9 x0YoNSgmbiiUrdWjKAuUsBuSPyOiMoSDKfv6Ge4vos9dvFyyOjLdynLWfPq39JCwDbUh j3YA== X-Gm-Message-State: APjAAAVlEGBrrwQDM5EkmgXSjlPBJ0GEidVVX7psVBD7wooN9biUAYF/ RdHYJlO5Il0vPRttnZ2HBglkPFAGBKs= X-Received: by 2002:aa7:808d:: with SMTP id v13mr60823890pff.198.1558488758693; Tue, 21 May 2019 18:32:38 -0700 (PDT) Received: from apollo.hsd1.ca.comcast.net ([2601:646:8500:6bc6::3506]) by smtp.gmail.com with ESMTPSA id p64sm34197147pfp.72.2019.05.21.18.32.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 May 2019 18:32:37 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Date: Tue, 21 May 2019 18:32:28 -0700 Message-Id: <20190522013228.7591-3-raj.khem@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190522013228.7591-1-raj.khem@gmail.com> References: <20190522013228.7591-1-raj.khem@gmail.com> MIME-Version: 1.0 Subject: [OE-core] [PATCH 3/3] elfutils: Fix eu-* utils builds for musl X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: openembedded-core-bounces@lists.openembedded.org Errors-To: openembedded-core-bounces@lists.openembedded.org Re-organize the musl patches in three different areas namely libs, utils and tests, this will help maintain them in future version bumps Add obstack dependency on musl targets which is needed for eu-* PN and PN-binutils is not empty anymore on musl Signed-off-by: Khem Raj --- .../elfutils/elfutils_0.176.bb | 15 +- ...-err-variable-and-function-conflicts.patch | 91 -------- ...ternatives-for-glibc-assumptions-hel.patch | 196 ------------------ .../elfutils/files/musl-libs.patch | 111 ++++++++++ .../elfutils/files/musl-obstack-fts.patch | 105 ++++++++++ .../files/{musl.patch => musl-tests.patch} | 0 .../elfutils/files/musl-utils.patch | 136 ++++++++++++ 7 files changed, 359 insertions(+), 295 deletions(-) delete mode 100644 meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch delete mode 100644 meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch create mode 100644 meta/recipes-devtools/elfutils/files/musl-libs.patch create mode 100644 meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch rename meta/recipes-devtools/elfutils/files/{musl.patch => musl-tests.patch} (100%) create mode 100644 meta/recipes-devtools/elfutils/files/musl-utils.patch -- 2.21.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core diff --git a/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/meta/recipes-devtools/elfutils/elfutils_0.176.bb index 157551e6af..1729e44d5f 100644 --- a/meta/recipes-devtools/elfutils/elfutils_0.176.bb +++ b/meta/recipes-devtools/elfutils/elfutils_0.176.bb @@ -4,7 +4,7 @@ SECTION = "base" LICENSE = "GPLv2 & LGPLv3+ & GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS = "libtool bzip2 zlib virtual/libintl" -DEPENDS_append_libc-musl = " argp-standalone fts " +DEPENDS_append_libc-musl = " argp-standalone fts musl-obstack " # The Debian patches below are from: # http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.175-1.debian.tar.xz SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \ @@ -31,12 +31,13 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \ file://0001-skip-the-test-when-gcc-not-deployed.patch \ file://run-ptest \ file://ptest.patch \ - file://musl.patch \ " -SRC_URI_append_libc-musl = " file://0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch \ - file://0001-fix-err-variable-and-function-conflicts.patch \ -" - +SRC_URI_append_libc-musl = " \ + file://musl-obstack-fts.patch \ + file://musl-libs.patch \ + file://musl-utils.patch \ + file://musl-tests.patch \ + " SRC_URI[md5sum] = "077e4f49320cad82bf17a997068b1db9" SRC_URI[sha256sum] = "eb5747c371b0af0f71e86215a5ebb88728533c3a104a43d4231963f308cd1023" @@ -73,8 +74,6 @@ do_install_ptest() { EXTRA_OEMAKE_class-native = "" EXTRA_OEMAKE_class-nativesdk = "" -ALLOW_EMPTY_${PN}_libc-musl = "1" - BBCLASSEXTEND = "native nativesdk" # Package utilities separately diff --git a/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch b/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch deleted file mode 100644 index 433db133b2..0000000000 --- a/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 2c50fe7068bd6911958c6d851aef88179e73bb21 Mon Sep 17 00:00:00 2001 -From: Mingli Yu -Date: Tue, 16 Apr 2019 15:30:38 +0800 -Subject: [PATCH] fix err variable and function conflicts - -There comes below build failure with musl when -ptest enabled. -| In file included from ../../elfutils-0.176/tests/dwfl-proc-attach.c:33: -| ../../elfutils-0.176/lib/system.h:63:35: error: called object 'err' is not a function or function pointer -| #define error(status, errno, ...) err(status, __VA_ARGS__) -| ^~~ -| ../../elfutils-0.176/tests/dwfl-proc-attach.c:92:5: note: in expansion of macro 'error' -| error (-1, 0, "dwfl_linux_proc_attach pid %d: %s", pid, -| ^~~~~ -| ../../elfutils-0.176/tests/dwfl-proc-attach.c:79:7: note: declared here -| int err; -| ^~~ - -It is because there is no error.h in musl and -the patch 0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch -has updated to use err.h to replace error.h -and also added macro definiton as below when -use musl. - #define error(status, errno, ...) err(status, __VA_ARGS__) - -And in err.h, there is below logic: -_Noreturn void err(int, const char *, ...); - -But when ptest enabled, there comes below error -as there is both variable and function defined -to be err in tests/dwfl-proc-attach.c. -So change the err variable's name to workaround -the build failure with musl. - -Upstream-Status: Inappropriate [workaround in musl] - -Signed-off-by: Mingli Yu ---- - tests/dwfl-proc-attach.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: elfutils-0.176/tests/dwfl-proc-attach.c -=================================================================== ---- elfutils-0.176.orig/tests/dwfl-proc-attach.c -+++ elfutils-0.176/tests/dwfl-proc-attach.c -@@ -76,10 +76,10 @@ main (int argc __attribute__ ((unused)), - char **argv __attribute__ ((unused))) - { - /* Create two extra threads to iterate through. */ -- int err; -- if ((err = pthread_create (&thread1, NULL, sleeper, NULL)) != 0) -+ int err1; -+ if ((err1 = pthread_create (&thread1, NULL, sleeper, NULL)) != 0) - error (-1, err, "Couldn't create thread1"); -- if ((err = pthread_create (&thread2, NULL, sleeper, NULL)) != 0) -+ if ((err1 = pthread_create (&thread2, NULL, sleeper, NULL)) != 0) - error (-1, err, "Couldn't create thread2"); - - Dwfl *dwfl = dwfl_begin (&proc_callbacks); -Index: elfutils-0.176/tests/backtrace.c -=================================================================== ---- elfutils-0.176.orig/tests/backtrace.c -+++ elfutils-0.176/tests/backtrace.c -@@ -219,23 +219,23 @@ dump (Dwfl *dwfl) - { - ptrdiff_t ptrdiff = dwfl_getmodules (dwfl, dump_modules, NULL, 0); - assert (ptrdiff == 0); -- bool err = false; -+ bool err1 = false; - switch (dwfl_getthreads (dwfl, thread_callback, NULL)) - { - case 0: - break; - case DWARF_CB_ABORT: -- err = true; -+ err1 = true; - break; - case -1: - error (0, 0, "dwfl_getthreads: %s", dwfl_errmsg (-1)); -- err = true; -+ err1 = true; - break; - default: - abort (); - } - callback_verify (0, 0, 0, NULL, dwfl); -- if (err) -+ if (err1) - exit (EXIT_FAILURE); - } - diff --git a/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch b/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch deleted file mode 100644 index 10cdac646c..0000000000 --- a/meta/recipes-devtools/elfutils/files/0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch +++ /dev/null @@ -1,196 +0,0 @@ -From 990d377a92f4bab04bf6820fc81b3dcb6cf5e31d Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 2 Jul 2018 09:52:23 +0800 -Subject: [PATCH] build: Provide alternatives for glibc assumptions helps - compiling it on musl - -Upstream-Status: Pending -Signed-off-by: Khem Raj - -Rebase to 0.175 - -Signed-off-by: Hongxu Jia - ---- - Makefile.am | 2 +- - lib/fixedsizehash.h | 1 - - lib/system.h | 12 +++++++++++- - libdw/Makefile.am | 3 ++- - libdwfl/dwfl_build_id_find_elf.c | 1 + - libdwfl/dwfl_error.c | 4 +++- - libdwfl/dwfl_module_getdwarf.c | 1 + - libdwfl/libdwfl_crc32_file.c | 9 +++++++++ - libdwfl/linux-kernel-modules.c | 1 + - libelf/elf.h | 8 ++++++-- - libelf/libelf.h | 1 + - libelf/libelfP.h | 1 + - 12 files changed, 37 insertions(+), 7 deletions(-) - -diff --git a/Makefile.am b/Makefile.am -index 2ff444e..41f77df 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -28,7 +28,7 @@ pkginclude_HEADERS = version.h - - # Add doc back when we have some real content. - SUBDIRS = config m4 lib libelf libebl libdwelf libdwfl libdw libcpu libasm \ -- backends src po tests -+ backends po tests - - EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \ - COPYING COPYING-GPLV2 COPYING-LGPLV3 -diff --git a/lib/fixedsizehash.h b/lib/fixedsizehash.h -index dac2a5f..43016fc 100644 ---- a/lib/fixedsizehash.h -+++ b/lib/fixedsizehash.h -@@ -30,7 +30,6 @@ - #include - #include - #include --#include - - #include - -diff --git a/lib/system.h b/lib/system.h -index 292082b..308a762 100644 ---- a/lib/system.h -+++ b/lib/system.h -@@ -30,7 +30,7 @@ - #define LIB_SYSTEM_H 1 - - #include --#include -+#include - #include - #include - #include -@@ -51,6 +51,8 @@ - #else - # error "Unknown byte order" - #endif -+ -+#define error(status, errno, ...) err(status, __VA_ARGS__) - - #ifndef MAX - #define MAX(m, n) ((m) < (n) ? (n) : (m)) -diff --git a/libdw/Makefile.am b/libdw/Makefile.am -index 7a3d532..7ac1241 100644 ---- a/libdw/Makefile.am -+++ b/libdw/Makefile.am -@@ -108,7 +108,8 @@ am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) - libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \ - ../libdwfl/libdwfl_pic.a ../libebl/libebl.a - libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so --libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) -+fts_LDADD = -lfts -+libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) $(fts_LDADD) - libdw_so_SOURCES = - libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS) - # The rpath is necessary for libebl because its $ORIGIN use will -diff --git a/libdwfl/dwfl_build_id_find_elf.c b/libdwfl/dwfl_build_id_find_elf.c -index cc6c3f6..b06ab59 100644 ---- a/libdwfl/dwfl_build_id_find_elf.c -+++ b/libdwfl/dwfl_build_id_find_elf.c -@@ -31,6 +31,7 @@ - #endif - - #include "libdwflP.h" -+#include "system.h" - #include - #include - #include -diff --git a/libdwfl/dwfl_error.c b/libdwfl/dwfl_error.c -index 7bcf61c..c345797 100644 ---- a/libdwfl/dwfl_error.c -+++ b/libdwfl/dwfl_error.c -@@ -140,6 +140,7 @@ __libdwfl_seterrno (Dwfl_Error error) - const char * - dwfl_errmsg (int error) - { -+ static __thread char s[64] = ""; - if (error == 0 || error == -1) - { - int last_error = global_error; -@@ -154,7 +155,8 @@ dwfl_errmsg (int error) - switch (error &~ 0xffff) - { - case OTHER_ERROR (ERRNO): -- return strerror_r (error & 0xffff, "bad", 0); -+ strerror_r (error & 0xffff, s, sizeof(s)); -+ return s; - case OTHER_ERROR (LIBELF): - return elf_errmsg (error & 0xffff); - case OTHER_ERROR (LIBDW): -diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c -index 56e6105..f4a0649 100644 ---- a/libdwfl/dwfl_module_getdwarf.c -+++ b/libdwfl/dwfl_module_getdwarf.c -@@ -35,6 +35,7 @@ - #include - #include - #include -+#include "system.h" - #include "../libdw/libdwP.h" /* DWARF_E_* values are here. */ - #include "../libelf/libelfP.h" - #include "system.h" -diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c -index 360e4ee..b5aa397 100644 ---- a/libdwfl/linux-kernel-modules.c -+++ b/libdwfl/linux-kernel-modules.c -@@ -41,6 +41,7 @@ - - #include "libelfP.h" - #include "libdwflP.h" -+#include "system.h" - #include - #include - #include -diff --git a/libelf/elf.h b/libelf/elf.h -index 5dc632b..14da1b7 100644 ---- a/libelf/elf.h -+++ b/libelf/elf.h -@@ -21,7 +21,9 @@ - - #include - --__BEGIN_DECLS -+#ifdef __cplusplus -+extern "C" { -+#endif - - /* Standard ELF types. */ - -@@ -3937,6 +3939,8 @@ enum - #define R_METAG_TLS_LE_HI16 60 - #define R_METAG_TLS_LE_LO16 61 - --__END_DECLS -+#ifdef __cplusplus -+} -+#endif - - #endif /* elf.h */ -diff --git a/libelf/libelf.h b/libelf/libelf.h -index 1ff11c9..c21e018 100644 ---- a/libelf/libelf.h -+++ b/libelf/libelf.h -@@ -29,6 +29,7 @@ - #ifndef _LIBELF_H - #define _LIBELF_H 1 - -+#include - #include - #include - -diff --git a/libelf/libelfP.h b/libelf/libelfP.h -index 9f3e8e9..10a347a 100644 ---- a/libelf/libelfP.h -+++ b/libelf/libelfP.h -@@ -32,6 +32,7 @@ - - #include - #include -+#include - - #include - #include diff --git a/meta/recipes-devtools/elfutils/files/musl-libs.patch b/meta/recipes-devtools/elfutils/files/musl-libs.patch new file mode 100644 index 0000000000..51ca630ef8 --- /dev/null +++ b/meta/recipes-devtools/elfutils/files/musl-libs.patch @@ -0,0 +1,111 @@ +Collection of fixes needed to compile libelf and other libraries +provided by elfutils for musl targets + +error is glibc specific API, so this patch will mostly not accepted +upstream given that elfutils has been closely tied to glibc + +Signed-off-by: Khem Raj +Upstream-Status: Inappropriate [workaround for musl] + +--- /dev/null ++++ b/lib/error.h +@@ -0,0 +1,27 @@ ++#ifndef _ERROR_H_ ++#define _ERROR_H_ ++ ++#include ++#include ++#include ++#include ++#include ++ ++static unsigned int error_message_count = 0; ++ ++static inline void error(int status, int errnum, const char* format, ...) ++{ ++ va_list ap; ++ fprintf(stderr, "%s: ", program_invocation_name); ++ va_start(ap, format); ++ vfprintf(stderr, format, ap); ++ va_end(ap); ++ if (errnum) ++ fprintf(stderr, ": %s", strerror(errnum)); ++ fprintf(stderr, "\n"); ++ error_message_count++; ++ if (status) ++ exit(status); ++} ++ ++#endif /* _ERROR_H_ */ +--- a/lib/fixedsizehash.h ++++ b/lib/fixedsizehash.h +@@ -30,7 +30,6 @@ + #include + #include + #include +-#include + + #include + +--- a/lib/libeu.h ++++ b/lib/libeu.h +@@ -29,6 +29,7 @@ + #ifndef LIBEU_H + #define LIBEU_H + ++#include "system.h" + #include + #include + +--- a/libdwfl/dwfl_error.c ++++ b/libdwfl/dwfl_error.c +@@ -154,7 +154,16 @@ dwfl_errmsg (int error) + switch (error &~ 0xffff) + { + case OTHER_ERROR (ERRNO): ++#if defined(__GLIBC__) + return strerror_r (error & 0xffff, "bad", 0); ++#else ++ { ++ static __thread char buf[128] = ""; ++ if (strerror_r (error & 0xffff, buf, sizeof(buf)) == 0) ++ return buf; ++ } ++ return "strerror_r() failed"; ++#endif + case OTHER_ERROR (LIBELF): + return elf_errmsg (error & 0xffff); + case OTHER_ERROR (LIBDW): +--- a/libdwfl/linux-kernel-modules.c ++++ b/libdwfl/linux-kernel-modules.c +@@ -50,6 +50,7 @@ + #include + #include + #include ++#include "system.h" + + /* If fts.h is included before config.h, its indirect inclusions may not + give us the right LFS aliases of these functions, so map them manually. */ +--- a/libelf/elf.h ++++ b/libelf/elf.h +@@ -21,7 +21,9 @@ + + #include + +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + + /* Standard ELF types. */ + +@@ -3937,6 +3939,7 @@ enum + #define R_METAG_TLS_LE_HI16 60 + #define R_METAG_TLS_LE_LO16 61 + +-__END_DECLS +- ++#ifdef __cplusplus ++} ++#endif + #endif /* elf.h */ diff --git a/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch b/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch new file mode 100644 index 0000000000..0fb7eb9236 --- /dev/null +++ b/meta/recipes-devtools/elfutils/files/musl-obstack-fts.patch @@ -0,0 +1,105 @@ +Look for libfts and libobstack during configure, these +libraries are external to libc when using musl, whereas +on glibc these libraries are provided in libc itself. + +Signed-off-by: Khem Raj +Upstream-Status: Inappropriate [workaround for musl] +--- a/configure.ac ++++ b/configure.ac +@@ -494,6 +494,60 @@ else + fi + AC_SUBST([argp_LDADD]) + ++dnl Check if we have fts available from our libc ++AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM( ++ [#if !defined(__x86_64__) ++ #undef _FILE_OFFSET_BITS ++ #define _FILE_OFFSET_BITS 32 ++ #endif ++ #include ], ++ [FTS* fts = 0; return fts_close(fts); return 0;] ++ )], ++ [libc_has_fts="true"], ++ [libc_has_fts="false"] ++) ++ ++dnl If our libc doesn't provide fts, then test for libfts ++if test "$libc_has_fts" = "false" ; then ++ AC_MSG_WARN("libc does not have fts") ++ AC_CHECK_LIB([fts], [fts_close], [have_fts="true"], [have_fts="false"]) ++ ++ if test "$have_fts" = "false"; then ++ AC_MSG_ERROR("no libfts found") ++ else ++ fts_LDADD="-lfts" ++ fi ++else ++ fts_LDADD="" ++fi ++AC_SUBST([fts_LDADD]) ++ ++dnl Check if we have obstack available from our libc ++AC_LINK_IFELSE( ++ [AC_LANG_PROGRAM( ++ [#include ], ++ [_obstack_begin(0, 0, 0, NULL, NULL); return 0;] ++ )], ++ [libc_has_obstack="true"], ++ [libc_has_obstack="false"] ++) ++ ++dnl If our libc doesn't provide obstack, then test for libobstack ++if test "$libc_has_obstack" = "false" ; then ++ AC_MSG_WARN("libc does not have obstack") ++ AC_CHECK_LIB([obstack], [_obstack_begin], [have_obstack="true"], [have_obstack="false"]) ++ ++ if test "$have_obstack" = "false"; then ++ AC_MSG_ERROR("no libobstack found") ++ else ++ obstack_LDADD="-lobstack" ++ fi ++else ++ obstack_LDADD="" ++fi ++AC_SUBST([obstack_LDADD]) ++ + dnl The directories with content. + + dnl Documentation. +--- a/libdw/Makefile.am ++++ b/libdw/Makefile.am +@@ -108,7 +108,7 @@ am_libdw_pic_a_OBJECTS = $(libdw_a_SOURC + libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \ + ../libdwfl/libdwfl_pic.a ../libebl/libebl.a + libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so +-libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) ++libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LDADD) $(zip_LIBS) + libdw_so_SOURCES = + libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS) + # The rpath is necessary for libebl because its $ORIGIN use will +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -68,8 +68,8 @@ ar_no_Wstack_usage = yes + unstrip_no_Wstack_usage = yes + + readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl +-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl \ +- $(demanglelib) ++nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) \ ++ $(obstack_LDADD) -ldl $(demanglelib) + size_LDADD = $(libelf) $(libeu) $(argp_LDADD) + strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl + elflint_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl +@@ -77,9 +77,9 @@ findtextrel_LDADD = $(libdw) $(libelf) $ + addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib) + elfcmp_LDADD = $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl + objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(argp_LDADD) -ldl +-ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) ++ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LDADD) + strings_LDADD = $(libelf) $(libeu) $(argp_LDADD) +-ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) ++ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LDADD) + unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl + stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib) + elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) diff --git a/meta/recipes-devtools/elfutils/files/musl.patch b/meta/recipes-devtools/elfutils/files/musl-tests.patch similarity index 100% rename from meta/recipes-devtools/elfutils/files/musl.patch rename to meta/recipes-devtools/elfutils/files/musl-tests.patch diff --git a/meta/recipes-devtools/elfutils/files/musl-utils.patch b/meta/recipes-devtools/elfutils/files/musl-utils.patch new file mode 100644 index 0000000000..4547bbbf16 --- /dev/null +++ b/meta/recipes-devtools/elfutils/files/musl-utils.patch @@ -0,0 +1,136 @@ +Provide missing defines which otherwise are available on glibc system headers + +Alter the error API to match posix version +use qsort instead of qsort_r which is glibc specific API + +Signed-off-by: Khem Raj +Upstream-Status: Inappropriate [workaround for musl] +--- a/src/arlib.h ++++ b/src/arlib.h +@@ -29,6 +29,12 @@ + #include + #include + ++#if !defined(ALLPERMS) ++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ ++#endif ++#if !defined(DEFFILEMODE) ++# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ ++#endif + + /* State of -D/-U flags. */ + extern bool arlib_deterministic_output; +--- a/src/elfcompress.c ++++ b/src/elfcompress.c +@@ -37,6 +37,13 @@ + #include "libeu.h" + #include "printversion.h" + ++#if !defined(ALLPERMS) ++# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ ++#endif ++#if !defined(FNM_EXTMATCH) ++# define FNM_EXTMATCH ( 1 << 5) ++#endif ++ + /* Name and version of program. */ + ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; + +--- a/src/readelf.c ++++ b/src/readelf.c +@@ -4792,10 +4792,11 @@ listptr_base (struct listptr *p) + return cudie_base (&cu); + } + ++static const char *listptr_name; ++ + static int +-compare_listptr (const void *a, const void *b, void *arg) ++compare_listptr (const void *a, const void *b) + { +- const char *name = arg; + struct listptr *p1 = (void *) a; + struct listptr *p2 = (void *) b; + +@@ -4811,21 +4812,21 @@ compare_listptr (const void *a, const vo + p1->warned = p2->warned = true; + error (0, 0, + gettext ("%s %#" PRIx64 " used with different address sizes"), +- name, (uint64_t) p1->offset); ++ listptr_name, (uint64_t) p1->offset); + } + if (p1->dwarf64 != p2->dwarf64) + { + p1->warned = p2->warned = true; + error (0, 0, + gettext ("%s %#" PRIx64 " used with different offset sizes"), +- name, (uint64_t) p1->offset); ++ listptr_name, (uint64_t) p1->offset); + } + if (listptr_base (p1) != listptr_base (p2)) + { + p1->warned = p2->warned = true; + error (0, 0, + gettext ("%s %#" PRIx64 " used with different base addresses"), +- name, (uint64_t) p1->offset); ++ listptr_name, (uint64_t) p1->offset); + } + if (p1->attr != p2 ->attr) + { +@@ -4833,7 +4834,7 @@ compare_listptr (const void *a, const vo + error (0, 0, + gettext ("%s %#" PRIx64 + " used with different attribute %s and %s"), +- name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr), ++ listptr_name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr), + dwarf_attr_name (p2->attr)); + } + } +@@ -4905,8 +4906,11 @@ static void + sort_listptr (struct listptr_table *table, const char *name) + { + if (table->n > 0) +- qsort_r (table->table, table->n, sizeof table->table[0], +- &compare_listptr, (void *) name); ++ { ++ listptr_name = name; ++ qsort (table->table, table->n, sizeof table->table[0], ++ &compare_listptr); ++ } + } + + static bool +--- a/src/strip.c ++++ b/src/strip.c +@@ -46,6 +46,13 @@ + #include + #include + ++#if !defined(ACCESSPERMS) ++# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ ++#endif ++#if !defined(FNM_EXTMATCH) ++# define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */ ++#endif ++ + typedef uint8_t GElf_Byte; + + /* Name and version of program. */ +--- a/src/unstrip.c ++++ b/src/unstrip.c +@@ -56,6 +56,15 @@ + # define _(str) gettext (str) + #endif + ++#ifndef strndupa ++#define strndupa(s, n) \ ++ ({const char *__in = (s); \ ++ size_t __len = strnlen (__in, (n)) + 1; \ ++ char *__out = (char *) alloca (__len); \ ++ __out[__len-1] = '\0'; \ ++ (char *) memcpy (__out, __in, __len-1);}) ++#endif ++ + /* Name and version of program. */ + ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; +