Skip to contentSkip to conversation

binutils: update to 2.29.1

PATCH In review Khem Raj 3 participants 11 messages Dec 12, 2017 – Dec 19, 2017

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

PATCH 1/9 binutils: update to 2.29.1

From: Armin Kuster <[email protected]>

update to 2.29.1 to fix the following missing CVEs:

CVE-2017-15939, CVE-2017-15938, CVE-2017-15225, CVE-2017-15025, CVE-2017-15024, CVE-2017-15023, CVE-2017-15022, CVE-2017-15021, CVE-2017-15020, CVE-2017-14974, CVE-2017-14940, CVE-2017-14939, CVE-2017-14938, CVE-2017-14934, CVE-2017-14933, CVE-2017-14932, CVE-2017-14930, CVE-2017-14745, CVE-2017-14729, CVE-2017-14529, CVE-2017-14333, CVE-2017-14130, CVE-2017-14129, CVE-2017-14128, CVE-2017-13757, CVE-2017-13716, CVE-2017-13710, CVE-2017-12967, CVE-2017-12799, CVE-2017-12459, CVE-2017-12458, CVE-2017-12457, CVE-2017-12456, CVE-2017-12455, CVE-2017-12454, CVE-2017-12453, CVE-2017-12452, CVE-2017-12451, CVE-2017-12450, CVE-2017-12449, CVE-2017-12448

see Changelogs for additional information

---
 .../binutils/{binutils-2.29.inc => binutils-2.29.1.inc}                 | 2 +-
 ...inutils-cross-canadian_2.29.bb => binutils-cross-canadian_2.29.1.bb} | 0
 .../binutils/{binutils-cross_2.29.bb => binutils-cross_2.29.1.bb}       | 0
 .../binutils/{binutils-crosssdk_2.29.bb => binutils-crosssdk_2.29.1.bb} | 0
 meta/recipes-devtools/binutils/{binutils_2.29.bb => binutils_2.29.1.bb} | 0
 5 files changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-devtools/binutils/{binutils-2.29.inc => binutils-2.29.1.inc} (97%)
 rename meta/recipes-devtools/binutils/{binutils-cross-canadian_2.29.bb => binutils-cross-canadian_2.29.1.bb} (100%)
 rename meta/recipes-devtools/binutils/{binutils-cross_2.29.bb => binutils-cross_2.29.1.bb} (100%)
 rename meta/recipes-devtools/binutils/{binutils-crosssdk_2.29.bb => binutils-crosssdk_2.29.1.bb} (100%)
 rename meta/recipes-devtools/binutils/{binutils_2.29.bb => binutils_2.29.1.bb} (100%)
meta/recipes-devtools/binutils/binutils-2.29.1.inc renamed from meta/recipes-devtools/binutils/binutils-2.29.inc +1 -1
similarity index 97%
rename from meta/recipes-devtools/binutils/binutils-2.29.inc
rename to meta/recipes-devtools/binutils/binutils-2.29.1.inc
index 27d46eb088..d92bbbce5d 100644
@@ -18,7 +18,7 @@ BINUPV = "${@binutils_branch_version(d)}"
 
 UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
 
-SRCREV = "37e991bb143ca2106330bcdc625590d53838b7a1"
+SRCREV = "90276f15379d380761fc499da2ba24cfb3c12a94"
 SRC_URI = "\
      git://sourceware.org/git/binutils-gdb.git;branch=binutils-${BINUPV}-branch;protocol=git \
      file://0003-configure-widen-the-regexp-for-SH-architectures.patch \
meta/recipes-devtools/binutils/binutils-cross-canadian_2.29.1.bb renamed from meta/recipes-devtools/binutils/binutils-cross-canadian_2.29.bb +0 -0
similarity index 100%
rename from meta/recipes-devtools/binutils/binutils-cross-canadian_2.29.bb
rename to meta/recipes-devtools/binutils/binutils-cross-canadian_2.29.1.bb
meta/recipes-devtools/binutils/binutils-cross_2.29.1.bb renamed from meta/recipes-devtools/binutils/binutils-cross_2.29.bb +0 -0
similarity index 100%
rename from meta/recipes-devtools/binutils/binutils-cross_2.29.bb
rename to meta/recipes-devtools/binutils/binutils-cross_2.29.1.bb
meta/recipes-devtools/binutils/binutils-crosssdk_2.29.1.bb renamed from meta/recipes-devtools/binutils/binutils-crosssdk_2.29.bb +0 -0
similarity index 100%
rename from meta/recipes-devtools/binutils/binutils-crosssdk_2.29.bb
rename to meta/recipes-devtools/binutils/binutils-crosssdk_2.29.1.bb
meta/recipes-devtools/binutils/binutils_2.29.1.bb renamed from meta/recipes-devtools/binutils/binutils_2.29.bb +0 -0
similarity index 100%
rename from meta/recipes-devtools/binutils/binutils_2.29.bb
rename to meta/recipes-devtools/binutils/binutils_2.29.1.bb
Signature · 1 line
2.15.1
author
#1 lore raw

PATCH 2/9 binutils: Convert SRC_URI and SRCREV to weak defines

This makes it easy to override them in bbappends

---
 meta/recipes-devtools/binutils/binutils-2.29.1.inc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
meta/recipes-devtools/binutils/binutils-2.29.1.inc +3 -2
index d92bbbce5d..07a72e2b5a 100644
@@ -18,9 +18,10 @@ BINUPV = "${@binutils_branch_version(d)}"
 
 UPSTREAM_CHECK_GITTAGREGEX = "binutils-(?P<pver>\d+_(\d_?)*)"
 
-SRCREV = "90276f15379d380761fc499da2ba24cfb3c12a94"
+SRCREV ?= "90276f15379d380761fc499da2ba24cfb3c12a94"
+BINUTILS_GIT_URI ?= "git://sourceware.org/git/binutils-gdb.git;branch=binutils-${BINUPV}-branch;protocol=git"
 SRC_URI = "\
-     git://sourceware.org/git/binutils-gdb.git;branch=binutils-${BINUPV}-branch;protocol=git \
+     ${BINUTILS_GIT_URI} \
      file://0003-configure-widen-the-regexp-for-SH-architectures.patch \
      file://0004-Point-scripts-location-to-libdir.patch \
      file://0005-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
Signature · 1 line
2.15.1
author
#2 lore raw

PATCH 3/9 gdb: Upgrade to 8.0.1

In reply to Khem Raj

Minor bugfix release, details are here
https://sourceware.org/ml/gdb-announce/2017/msg00004.html

---
 meta/recipes-devtools/gdb/{gdb-8.0.inc => gdb-8.0.1.inc}              | 4 ++--
 .../gdb/{gdb-cross-canadian_8.0.bb => gdb-cross-canadian_8.0.1.bb}    | 0
 meta/recipes-devtools/gdb/{gdb-cross_8.0.bb => gdb-cross_8.0.1.bb}    | 0
 meta/recipes-devtools/gdb/{gdb_8.0.bb => gdb_8.0.1.bb}                | 0
 4 files changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-devtools/gdb/{gdb-8.0.inc => gdb-8.0.1.inc} (88%)
 rename meta/recipes-devtools/gdb/{gdb-cross-canadian_8.0.bb => gdb-cross-canadian_8.0.1.bb} (100%)
 rename meta/recipes-devtools/gdb/{gdb-cross_8.0.bb => gdb-cross_8.0.1.bb} (100%)
 rename meta/recipes-devtools/gdb/{gdb_8.0.bb => gdb_8.0.1.bb} (100%)
meta/recipes-devtools/gdb/gdb-8.0.1.inc renamed from meta/recipes-devtools/gdb/gdb-8.0.inc +2 -2
similarity index 88%
rename from meta/recipes-devtools/gdb/gdb-8.0.inc
rename to meta/recipes-devtools/gdb/gdb-8.0.1.inc
index fba32ce12c..04a1c809db 100644
@@ -17,6 +17,6 @@ SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \
            file://0010-resolve-restrict-keyword-conflict.patch \
            file://package_devel_gdb_patches_120-sigprocmask-invalid-call.patch \
 "
-SRC_URI[md5sum] = "c3d35cd949084be53b92cc1e03485f88"
-SRC_URI[sha256sum] = "f6a24ffe4917e67014ef9273eb8b547cb96a13e5ca74895b06d683b391f3f4ee"
+SRC_URI[md5sum] = "48cac527e6f3018b865ece021e9723ac"
+SRC_URI[sha256sum] = "3dbd5f93e36ba2815ad0efab030dcd0c7b211d7b353a40a53f4c02d7d56295e3"
 
meta/recipes-devtools/gdb/gdb-cross-canadian_8.0.1.bb renamed from meta/recipes-devtools/gdb/gdb-cross-canadian_8.0.bb +0 -0
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb-cross-canadian_8.0.bb
rename to meta/recipes-devtools/gdb/gdb-cross-canadian_8.0.1.bb
meta/recipes-devtools/gdb/gdb-cross_8.0.1.bb renamed from meta/recipes-devtools/gdb/gdb-cross_8.0.bb +0 -0
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb-cross_8.0.bb
rename to meta/recipes-devtools/gdb/gdb-cross_8.0.1.bb
meta/recipes-devtools/gdb/gdb_8.0.1.bb renamed from meta/recipes-devtools/gdb/gdb_8.0.bb +0 -0
similarity index 100%
rename from meta/recipes-devtools/gdb/gdb_8.0.bb
rename to meta/recipes-devtools/gdb/gdb_8.0.1.bb
Signature · 1 line
2.15.1
author
#3 lore raw

PATCH 4/9 gcc6: enable FL_LPAE flag for armv7ve cores

In reply to Khem Raj

From: Andre McCurdy <[email protected]>

The following commit added the FL_LPAE flag to FL_FOR_ARCH7VE, but neglected to also add it to the armv7ve compatible cores defined in arm-cores.def.

https://github.com/gcc-mirror/gcc/commit/af2d9b9e58e8be576c53d94f30c48c68146b0c98

The result is that gcc 6.4 now refuses to allow -march=armv7ve and -mcpu=XXX to be used together, even when -mcpu is set to an armv7ve compatible core:

arm-linux-gnueabi-gcc -march=armv7ve -mcpu=cortex-a7 -Werror ...
error: switch -mcpu=cortex-a7 conflicts with -march=armv7ve switch [-Werror]

Fix by defining flags for armv7ve compatible cores directly from FL_FOR_ARCH7VE, rather than re-creating the armv7ve flags independently by combining FL_FOR_ARCH7A with the armv7ve specific FL_THUMB_DIV and FL_ARM_DIV flags.

---
 meta/recipes-devtools/gcc/gcc-6.4.inc              |  1 +
 ...001-enable-FL_LPAE-flag-for-armv7ve-cores.patch | 67 ++++++++++++++++++++++
 2 files changed, 68 insertions(+)
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.4/backport/0001-enable-FL_LPAE-flag-for-armv7ve-cores.patch
meta/recipes-devtools/gcc/gcc-6.4.inc +1 -0
index 37e996afb7..03f2bf045d 100644
@@ -81,6 +81,7 @@ SRC_URI = "\
 BACKPORTS = "\
            file://CVE-2016-6131.patch \
            file://0057-ARM-PR-82445-suppress-32-bit-aligned-ldrd-strd-peeph.patch \
+           file://0001-enable-FL_LPAE-flag-for-armv7ve-cores.patch \
 "
 SRC_URI[md5sum] = "11ba51a0cfb8471927f387c8895fe232"
 SRC_URI[sha256sum] = "850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4"
meta/recipes-devtools/gcc/gcc-6.4/backport/0001-enable-FL_LPAE-flag-for-armv7ve-cores.patch new file +67 -0

67 lines not on this page · raw message

Signature · 1 line
2.15.1
author
#4 lore raw

PATCH 5/9 musl: Disable thumb1 ISA

In reply to Khem Raj

From: Andrea Adami <[email protected]>

thumb1 is unsupported see http://www.openwall.com/lists/musl/2017/10/20/10

Fix
[YOCTO #12336]

---
 meta/recipes-core/musl/musl.inc | 5 +++++
 1 file changed, 5 insertions(+)
meta/recipes-core/musl/musl.inc +5 -0
index 56c9d7fe17..9af1172ae0 100644
@@ -26,3 +26,8 @@ INSANE_SKIP_${PN} = "dev-so"
 # Doesn't compile in MIPS16e mode due to use of hand-written
 # assembly
 MIPS_INSTRUCTION_SET = "mips"
+
+# thumb1 is unsupported
+ARM_INSTRUCTION_SET_armv5 = "arm"
+ARM_INSTRUCTION_SET_armv4 = "arm"
+
Signature · 1 line
2.15.1
author
#5 lore raw

PATCH 6/9 musl: Update to latest

In reply to Khem Raj

These commits are added
https://git.musl-libc.org/cgit/musl/log/?qt=range&q=eb03bde2f24582874cb72b56c7811bf51da0c817..4000b0107ddd7fe733fa31d4f078c6fcd35851d6

Key fix for malloc
https://git.musl-libc.org/cgit/musl/commit/?id=a71b46cfd289aa0ff829fc9a436c59c398f8326d

---
 meta/recipes-core/musl/musl_git.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/musl/musl_git.bb +1 -1
index 932c9a27a0..edfaa07eee 100644
@@ -3,7 +3,7 @@
 
 require musl.inc
 
-SRCREV = "eb03bde2f24582874cb72b56c7811bf51da0c817"
+SRCREV = "4000b0107ddd7fe733fa31d4f078c6fcd35851d6"
 
 PV = "1.1.18+git${SRCPV}"
 
Signature · 1 line
2.15.1
author
#6 lore raw

PATCH 7/9 glibc: Upgrade to latest on 2.26 release

In reply to Khem Raj

For detailed view of changes see
https://github.com/kraj/glibc/compare/glibc-2.26...77f921dac17c5fa99bd9e926d926c327982895f7

drop upstreamed 1 patch

---
 ...ress-pedantic-warning-caused-by-statement.patch | 90 ----------------------
 meta/recipes-core/glibc/glibc_2.26.bb              |  3 +-
 2 files changed, 1 insertion(+), 92 deletions(-)
 delete mode 100644 meta/recipes-core/glibc/glibc/0026-assert-Suppress-pedantic-warning-caused-by-statement.patch
meta/recipes-core/glibc/glibc/0026-assert-Suppress-pedantic-warning-caused-by-statement.patch deleted +0 -90
deleted file mode 100644
index b2bb96b818..0000000000
@@ -1,90 +0,0 @@
-From 037283cbc74739b72f36dfec827d120faa243406 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer at redhat dot com>
-Date: Thu, 6 Jul 2017 11:50:55 +0200
-Subject: [PATCH 26/26] assert: Suppress pedantic warning caused by statement
- expression [BZ# 21242]
-
-On 07/05/2017 10:15 PM, Zack Weinberg wrote:
-> On Wed, Jul 5, 2017 at 11:51 AM, Florian Weimer <[email protected]> wrote:
->> On 07/05/2017 05:46 PM, Zack Weinberg wrote:
->>> A problem occurs to me: expressions involving VLAs _are_ evaluated
->>> inside sizeof.
->>
->> The type of the sizeof argument would still be int (due to the
->> comparison against 0), so this doesn't actually occur.
->
-> I rechecked what C99 says about sizeof and VLAs, and you're right -
-> the operand of sizeof is only evaluated when sizeof is _directly_
-> applied to a VLA.  So this is indeed safe, but I think this wrinkle
-> should be mentioned in the comment.  Perhaps
->
-> /* The first occurrence of EXPR is not evaluated due to the sizeof,
->    but will trigger any pedantic warnings masked by the __extension__
->    for the second occurrence.  The explicit comparison against zero
->    ensures that sizeof is not directly applied to a function pointer or
->    bit-field (which would be ill-formed) or VLA (which would be evaluated).  */
->
-> zw
-
-What about the attached patch?
-
-Siddhesh, is this okay during the freeze?  I'd like to backport it to
-2.25 as well.
-
-Thanks,
-Florian
-
-assert: Suppress pedantic warning caused by statement expression
-
-2017-07-06  Florian Weimer  <[email protected]>
-
-	[BZ #21242]
-	* assert/assert.h [__GNUC__ && !__STRICT_ANSI__] (assert):
-	Suppress pedantic warning resulting from statement expression.
-	(__ASSERT_FUNCTION): Add missing __extendsion__.
----
-
-Upstream-Status: Submitted
-Signed-off-by: Khem Raj <[email protected]>
-
- assert/assert.h | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/assert/assert.h b/assert/assert.h
-index 22f019537c..6801cfeb10 100644
---- a/assert/assert.h
-+++ b/assert/assert.h
-@@ -91,13 +91,19 @@ __END_DECLS
-      ? __ASSERT_VOID_CAST (0)						\
-      : __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION))
- # else
-+/* The first occurrence of EXPR is not evaluated due to the sizeof,
-+   but will trigger any pedantic warnings masked by the __extension__
-+   for the second occurrence.  The explicit comparison against zero is
-+   required to support function pointers and bit fields in this
-+   context, and to suppress the evaluation of variable length
-+   arrays.  */
- #  define assert(expr)							\
--    ({									\
-+  ((void) sizeof ((expr) == 0), __extension__ ({			\
-       if (expr)								\
-         ; /* empty */							\
-       else								\
-         __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION);	\
--    })
-+    }))
- # endif
- 
- # ifdef	__USE_GNU
-@@ -113,7 +119,7 @@ __END_DECLS
-    C9x has a similar variable called __func__, but prefer the GCC one since
-    it demangles C++ function names.  */
- # if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4)
--#   define __ASSERT_FUNCTION	__PRETTY_FUNCTION__
-+#   define __ASSERT_FUNCTION	__extension__ __PRETTY_FUNCTION__
- # else
- #  if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
- #   define __ASSERT_FUNCTION	__func__
--- 
-2.13.3
-
meta/recipes-core/glibc/glibc_2.26.bb +1 -2
index 135ec4fb16..5213a6a942 100644
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSES;md5=e9a558e243b36d3209f380deb394b213 \
 
 DEPENDS += "gperf-native"
 
-SRCREV ?= "1c9a5c270d8b66f30dcfaf1cb2d6cf39d3e18369"
+SRCREV ?= "77f921dac17c5fa99bd9e926d926c327982895f7"
 
 SRCBRANCH ?= "release/${PV}/master"
 
@@ -40,7 +40,6 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
            file://0023-Define-DUMMY_LOCALE_T-if-not-defined.patch \
            file://0024-elf-dl-deps.c-Make-_dl_build_local_scope-breadth-fir.patch \
            file://0025-locale-fix-hard-coded-reference-to-gcc-E.patch \
-           file://0026-assert-Suppress-pedantic-warning-caused-by-statement.patch \
            file://0027-glibc-reset-dl-load-write-lock-after-forking.patch \
            file://0028-Bug-4578-add-ld.so-lock-while-fork.patch \
 "
Signature · 1 line
2.15.1
author
#7 lore raw

PATCH 8/9 gcc-7.2: Fix libgfortran build

In reply to Khem Raj

From: Ricardo Ribalda Delgado <[email protected]>

Without this patch libbacktrace cannot be included/link during libgfortran build.

libbtool: link: cannot find the library `../libbacktrace/libbacktrace.la'
or unhandled argument `../libbacktrace/libbacktrace.la

---
 meta/recipes-devtools/gcc/gcc-7.2.inc              |  1 +
 .../gcc/gcc-7.2/0051-Fix-gfortran-build.patch      | 53 ++++++++++++++++++++++
 2 files changed, 54 insertions(+)
 create mode 100644 meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch
meta/recipes-devtools/gcc/gcc-7.2.inc +1 -0
index 1d40cba731..baf98aeba8 100644
@@ -75,6 +75,7 @@ SRC_URI = "\
            file://0048-gcc-Enable-static-PIE.patch \
            file://fix-segmentation-fault-precompiled-hdr.patch \
            file://0050-RISC-V-Handle-non-legitimate-address-in-riscv_legiti.patch \
+           file://0051-Fix-gfortran-build.patch \
            ${BACKPORTS} \
 "
 BACKPORTS = "\
meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch new file +53 -0

53 lines not on this page · raw message

Signature · 1 line
2.15.1
#8 lore raw

Re: [PATCH 8/9] gcc-7.2: Fix libgfortran build

Quoted 95 lines · Khem Raj

From: Ricardo Ribalda Delgado <[email protected]>

Without this patch libbacktrace cannot be included/link during libgfortran build.

libbtool: link: cannot find the library `../libbacktrace/libbacktrace.la'
or unhandled argument `../libbacktrace/libbacktrace.la

---
 meta/recipes-devtools/gcc/gcc-7.2.inc              |  1 + .../gcc/gcc-7.2/0051-Fix-gfortran-build.patch      | 53
++++++++++++++++++++++

 2 files changed, 54 insertions(+)

 create mode 100644 meta/recipes-devtools/gcc/gcc-7.2/0051-Fix- gfortran-build.patch

meta/recipes- renamed from meta/recipes-devtools/gcc/gcc-7.2.inc +0 -0

devtools/gcc/gcc-7.2.inc
index 1d40cba731..baf98aeba8 100644

meta/recipes-devtools/gcc/gcc-7.2.inc +0 -0
@@ -75,6 +75,7 @@ SRC_URI = "\
             file://0048-gcc-Enable-static-PIE.patch \
             file://fix-segmentation-fault-precompiled-hdr.patch \

            file://0050-RISC-V-Handle-non-legitimate-address-in- riscv_legiti.patch \
+           file://0051-Fix-gfortran-build.patch \
            ${BACKPORTS} \
 "
 BACKPORTS = "\

(quoted diff) +0 -0

build.patch b/meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran- build.patch
new file mode 100644
index 0000000000..a71b6b0bee

meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch new file +4 -0
@@ -0,0 +1,53 @@
+Without this patch libbacktrace cannot be included/link during
+libgfortran build.
+
+libbtool: link: cannot find the library

`../libbacktrace/libbacktrace.la'

meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch new file +13 -0
+or unhandled argument `../libbacktrace/libbacktrace.la'
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Ricardo Ribalda Delgado <[email protected]>
+
+diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am
+index 2857af5943f9..e07760069a3c 100644
+--- a/libgfortran/Makefile.am
++++ b/libgfortran/Makefile.am
+@@ -37,7 +37,7 @@ toolexeclib_LTLIBRARIES = libgfortran.la
+ toolexeclib_DATA = libgfortran.spec
+ libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
+ libgfortran_la_LDFLAGS = -version-info `grep -v '^\#'

$(srcdir)/libtool-version` \
+- $(LTLDFLAGS) $(LIBQUADLIB) ../libbacktrace/libbacktrace.la
\
++ $(LTLDFLAGS) $(LIBQUADLIB)
../../libbacktrace/libbacktrace.la \
+  $(HWCAP_LDFLAGS) \
+  -lm $(extra_ldflags_libgfortran) \
+  $(version_arg) -Wc,-shared-libgcc
+@@ -64,7 +64,7 @@ AM_CPPFLAGS = -iquote$(srcdir)/io

meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch new file +16 -1
-I$(srcdir)/$(MULTISRCTOP)../gcc \
+ 	      -I$(MULTIBUILDTOP)../libgcc \
+ 	      -I$(srcdir)/$(MULTISRCTOP)../libbacktrace \
+ 	      -I$(MULTIBUILDTOP)../libbacktrace \
+-	      -I../libbacktrace
++	      -I../../libbacktrace
+ 
+ # Fortran rules for complex multiplication and division
+ AM_CFLAGS += -fcx-fortran-rules
+diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in
+index 05b183dcadb0..c9e0280e412c 100644
+--- a/libgfortran/Makefile.in
++++ b/libgfortran/Makefile.in
+@@ -581,7 +581,7 @@ toolexeclib_LTLIBRARIES = libgfortran.la
+ toolexeclib_DATA = libgfortran.spec
+ libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
+ libgfortran_la_LDFLAGS = -version-info `grep -v '^\#'

$(srcdir)/libtool-version` \
+- $(LTLDFLAGS) $(LIBQUADLIB) ../libbacktrace/libbacktrace.la
\
++ $(LTLDFLAGS) $(LIBQUADLIB)
../../libbacktrace/libbacktrace.la \
+  $(HWCAP_LDFLAGS) \
+  -lm $(extra_ldflags_libgfortran) \
+  $(version_arg) -Wc,-shared-libgcc
+@@ -602,7 +602,7 @@ AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \

Quoted 8 lines

+        -I$(MULTIBUILDTOP)../libgcc \
+        -I$(srcdir)/$(MULTISRCTOP)../libbacktrace \
+        -I$(MULTIBUILDTOP)../libbacktrace \
+-       -I../libbacktrace
++       -I../../libbacktrace
+
+ gfor_io_src = io/size_from_kind.c $(am__append_2)
+ gfor_io_headers = \

Did you try this for something other than x86_64? I think this won't work when cross compiling and host != target.

I do have a better fix which might work in mind...

Cheers,

Richard

#9 lore raw

Re: [PATCH 8/9] gcc-7.2: Fix libgfortran build

Hi Richard

My target is a X86_64 camera, and I have only tried with it.

Quoted 114 lines · Richard Purdie
Quoted 93 lines · Khem Raj

From: Ricardo Ribalda Delgado <[email protected]>

Without this patch libbacktrace cannot be included/link during libgfortran build.

libbtool: link: cannot find the library `../libbacktrace/libbacktrace.la'
or unhandled argument `../libbacktrace/libbacktrace.la

---
 meta/recipes-devtools/gcc/gcc-7.2.inc              |  1 +
 .../gcc/gcc-7.2/0051-Fix-gfortran-build.patch      | 53
++++++++++++++++++++++
 2 files changed, 54 insertions(+)
 create mode 100644 meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-

gfortran-build.patch

meta/recipes- renamed from meta/recipes-devtools/gcc/gcc-7.2.inc +0 -0

devtools/gcc/gcc-7.2.inc
index 1d40cba731..baf98aeba8 100644

meta/recipes-devtools/gcc/gcc-7.2.inc +1 -0
@@ -75,6 +75,7 @@ SRC_URI = "\
            file://0048-gcc-Enable-static-PIE.patch \
            file://fix-segmentation-fault-precompiled-hdr.patch \
            file://0050-RISC-V-Handle-non-legitimate-address-in-
 riscv_legiti.patch \
+           file://0051-Fix-gfortran-build.patch \
            ${BACKPORTS} \
 "

BACKPORTS = "\

(quoted diff) +0 -0

build.patch b/meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran- build.patch
new file mode 100644
index 0000000000..a71b6b0bee

meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch new file +4 -0
@@ -0,0 +1,53 @@
+Without this patch libbacktrace cannot be included/link during
+libgfortran build.
+
+libbtool: link: cannot find the library

`../libbacktrace/libbacktrace.la'

meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch new file +13 -0
+or unhandled argument `../libbacktrace/libbacktrace.la'
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Ricardo Ribalda Delgado <[email protected]>
+
+diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am
+index 2857af5943f9..e07760069a3c 100644
+--- a/libgfortran/Makefile.am
++++ b/libgfortran/Makefile.am
+@@ -37,7 +37,7 @@ toolexeclib_LTLIBRARIES = libgfortran.la
+ toolexeclib_DATA = libgfortran.spec
+ libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
+ libgfortran_la_LDFLAGS = -version-info `grep -v '^\#'

$(srcdir)/libtool-version` \
+- $(LTLDFLAGS) $(LIBQUADLIB) ../libbacktrace/libbacktrace.la
\
++ $(LTLDFLAGS) $(LIBQUADLIB)
../../libbacktrace/libbacktrace.la \

meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch new file +20 -1
+     $(HWCAP_LDFLAGS) \
+     -lm $(extra_ldflags_libgfortran) \
+     $(version_arg) -Wc,-shared-libgcc
+@@ -64,7 +64,7 @@ AM_CPPFLAGS = -iquote$(srcdir)/io
-I$(srcdir)/$(MULTISRCTOP)../gcc \
+           -I$(MULTIBUILDTOP)../libgcc \
+           -I$(srcdir)/$(MULTISRCTOP)../libbacktrace \
+           -I$(MULTIBUILDTOP)../libbacktrace \
+-          -I../libbacktrace
++          -I../../libbacktrace
+
+ # Fortran rules for complex multiplication and division
+ AM_CFLAGS += -fcx-fortran-rules
+diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in
+index 05b183dcadb0..c9e0280e412c 100644
+--- a/libgfortran/Makefile.in
++++ b/libgfortran/Makefile.in
+@@ -581,7 +581,7 @@ toolexeclib_LTLIBRARIES = libgfortran.la
+ toolexeclib_DATA = libgfortran.spec
+ libgfortran_la_LINK = $(LINK) $(libgfortran_la_LDFLAGS)
+ libgfortran_la_LDFLAGS = -version-info `grep -v '^\#'

$(srcdir)/libtool-version` \
+- $(LTLDFLAGS) $(LIBQUADLIB) ../libbacktrace/libbacktrace.la
\
++ $(LTLDFLAGS) $(LIBQUADLIB)
../../libbacktrace/libbacktrace.la \

meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch new file +3 -0
+     $(HWCAP_LDFLAGS) \
+     -lm $(extra_ldflags_libgfortran) \
+     $(version_arg) -Wc,-shared-libgcc

meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch line 53

Quoted 10 lines
meta/recipes-devtools/gcc/gcc-7.2/0051-Fix-gfortran-build.patch new file +9 -1
+@@ -602,7 +602,7 @@ AM_CPPFLAGS = -iquote$(srcdir)/io
-I$(srcdir)/$(MULTISRCTOP)../gcc \
+           -I$(MULTIBUILDTOP)../libgcc \
+           -I$(srcdir)/$(MULTISRCTOP)../libbacktrace \
+           -I$(MULTIBUILDTOP)../libbacktrace \
+-          -I../libbacktrace
++          -I../../libbacktrace
+
+ gfor_io_src = io/size_from_kind.c $(am__append_2)
+ gfor_io_headers = \

Did you try this for something other than x86_64? I think this won't work when cross compiling and host != target.

I do have a better fix which might work in mind...

Cheers,

Richard

Signature · 1 line
Ricardo Ribalda
author
#10 lore raw

PATCH 9/9 gcc-6.4: Fix libgfortran build

In reply to Khem Raj

From: Ricardo Ribalda Delgado <[email protected]>

Without this patch libbacktrace cannot be included/link during libgfortran build.

libbtool: link: cannot find the library ../libbacktrace/libbacktrace.la' or unhandled argument ../libbacktrace/libbacktrace.la'

---
 meta/recipes-devtools/gcc/gcc-6.4.inc              |  1 +
 .../gcc/gcc-6.4/0057-Fix-gfortran-build.patch      | 53 ++++++++++++++++++++++
 2 files changed, 54 insertions(+)
 create mode 100644 meta/recipes-devtools/gcc/gcc-6.4/0057-Fix-gfortran-build.patch
meta/recipes-devtools/gcc/gcc-6.4.inc +1 -0
index 03f2bf045d..a191fd70a3 100644
@@ -76,6 +76,7 @@ SRC_URI = "\
            file://0054_all_nopie-all-flags.patch \
            file://0055-unwind_h-glibc26.patch \
            file://0056-LRA-PR70904-relax-the-restriction-on-subreg-reload-f.patch \
+           file://0057-Fix-gfortran-build.patch \
            ${BACKPORTS} \
 "
 BACKPORTS = "\
meta/recipes-devtools/gcc/gcc-6.4/0057-Fix-gfortran-build.patch new file +53 -0

53 lines not on this page · raw message

Signature · 1 line
2.15.1