* [PATCH 01/10] siteinfo: Define data for ARC
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
@ 2018-09-17 21:29 ` Alexey Brodkin
2018-09-18 23:24 ` Khem Raj
2018-09-17 21:29 ` [PATCH 02/10] site: Add ARC linux Alexey Brodkin
` (10 subsequent siblings)
11 siblings, 1 reply; 15+ messages in thread
From: Alexey Brodkin @ 2018-09-17 21:29 UTC (permalink / raw)
To: openembedded-core; +Cc: linux-snps-arc, Alexey Brodkin
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
meta/classes/siteinfo.bbclass | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
index 86bb853b..dccf122 100644
--- a/meta/classes/siteinfo.bbclass
+++ b/meta/classes/siteinfo.bbclass
@@ -20,6 +20,8 @@ def siteinfo_data(d):
"allarch": "endian-little bit-32", # bogus, but better than special-casing the checks below for allarch
"aarch64": "endian-little bit-64 arm-common arm-64",
"aarch64_be": "endian-big bit-64 arm-common arm-64",
+ "arc": "endian-little bit-32 arc-common",
+ "arceb": "endian-big bit-32 arc-common",
"arm": "endian-little bit-32 arm-common arm-32",
"armeb": "endian-big bit-32 arm-common arm-32",
"avr32": "endian-big bit-32 avr32-common",
--
1.8.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH 01/10] siteinfo: Define data for ARC
2018-09-17 21:29 ` [PATCH 01/10] siteinfo: Define data for ARC Alexey Brodkin
@ 2018-09-18 23:24 ` Khem Raj
0 siblings, 0 replies; 15+ messages in thread
From: Khem Raj @ 2018-09-18 23:24 UTC (permalink / raw)
To: Alexey Brodkin; +Cc: linux-snps-arc, openembedded-core
[-- Attachment #1: Type: text/plain, Size: 1099 bytes --]
On Mon, Sep 17, 2018 at 2:29 PM Alexey Brodkin <Alexey.Brodkin@synopsys.com>
wrote:
> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> ---
> meta/classes/siteinfo.bbclass | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass
> index 86bb853b..dccf122 100644
> --- a/meta/classes/siteinfo.bbclass
> +++ b/meta/classes/siteinfo.bbclass
> @@ -20,6 +20,8 @@ def siteinfo_data(d):
> "allarch": "endian-little bit-32", # bogus, but better than
> special-casing the checks below for allarch
> "aarch64": "endian-little bit-64 arm-common arm-64",
> "aarch64_be": "endian-big bit-64 arm-common arm-64",
> + "arc": "endian-little bit-32 arc-common",
> + "arceb": "endian-big bit-32 arc-common",
Probably need to add arc-common file as well
Since it’s used here
>
> "arm": "endian-little bit-32 arm-common arm-32",
> "armeb": "endian-big bit-32 arm-common arm-32",
> "avr32": "endian-big bit-32 avr32-common",
> --
> 1.8.3.1
>
>
[-- Attachment #2: Type: text/html, Size: 1830 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 02/10] site: Add ARC linux
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
2018-09-17 21:29 ` [PATCH 01/10] siteinfo: Define data for ARC Alexey Brodkin
@ 2018-09-17 21:29 ` Alexey Brodkin
2018-09-17 21:29 ` [PATCH 03/10] kernel-arch.bbclass: Add ARC to kernel arch map Alexey Brodkin
` (9 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Alexey Brodkin @ 2018-09-17 21:29 UTC (permalink / raw)
To: openembedded-core; +Cc: linux-snps-arc, Alexey Brodkin
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
meta/site/arc-linux | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 meta/site/arc-linux
diff --git a/meta/site/arc-linux b/meta/site/arc-linux
new file mode 100644
index 0000000..d3c721a
--- /dev/null
+++ b/meta/site/arc-linux
@@ -0,0 +1,11 @@
+# general
+ac_cv_alignof_guint32=4
+ac_cv_alignof_guint64=4
+ac_cv_alignof_unsigned_long=4
+
+# glib-2.0
+glib_cv_stack_grows=${glib_cv_stack_grows=no}
+glib_cv_uscore=${glib_cv_uscore=no}
+
+# startup-notification
+lf_cv_sane_realloc=${lf_cv_sane_realloc=yes}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 03/10] kernel-arch.bbclass: Add ARC to kernel arch map
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
2018-09-17 21:29 ` [PATCH 01/10] siteinfo: Define data for ARC Alexey Brodkin
2018-09-17 21:29 ` [PATCH 02/10] site: Add ARC linux Alexey Brodkin
@ 2018-09-17 21:29 ` Alexey Brodkin
2018-09-17 21:29 ` [PATCH 04/10] openssl: Add support for ARC Alexey Brodkin
` (8 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Alexey Brodkin @ 2018-09-17 21:29 UTC (permalink / raw)
To: openembedded-core; +Cc: linux-snps-arc, Alexey Brodkin
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
meta/classes/kernel-arch.bbclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass
index 09793fc..2b52a63 100644
--- a/meta/classes/kernel-arch.bbclass
+++ b/meta/classes/kernel-arch.bbclass
@@ -22,6 +22,7 @@ def map_kernel_arch(a, d):
valid_archs = d.getVar('valid_archs').split()
if re.match('(i.86|athlon|x86.64)$', a): return 'x86'
+ elif re.match('arceb$', a): return 'arc'
elif re.match('armeb$', a): return 'arm'
elif re.match('aarch64$', a): return 'arm64'
elif re.match('aarch64_be$', a): return 'arm64'
--
1.8.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 04/10] openssl: Add support for ARC
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
` (2 preceding siblings ...)
2018-09-17 21:29 ` [PATCH 03/10] kernel-arch.bbclass: Add ARC to kernel arch map Alexey Brodkin
@ 2018-09-17 21:29 ` Alexey Brodkin
2018-09-17 21:29 ` [PATCH 05/10] nspr: Add ARC support Alexey Brodkin
` (7 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Alexey Brodkin @ 2018-09-17 21:29 UTC (permalink / raw)
To: openembedded-core; +Cc: linux-snps-arc, Alexey Brodkin
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
meta/recipes-connectivity/openssl/openssl10_1.0.2p.bb | 2 +-
meta/recipes-connectivity/openssl/openssl_1.1.1-pre9.bb | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-connectivity/openssl/openssl10_1.0.2p.bb b/meta/recipes-connectivity/openssl/openssl10_1.0.2p.bb
index b7297fc..84e086c 100644
--- a/meta/recipes-connectivity/openssl/openssl10_1.0.2p.bb
+++ b/meta/recipes-connectivity/openssl/openssl10_1.0.2p.bb
@@ -164,7 +164,7 @@ do_configure () {
linux-mips*)
target=debian-mips
;;
- linux-microblaze* | linux-nios2* | linux-gnu*ilp32**)
+ linux-microblaze* | linux-nios2* | linux-gnu*ilp32** | linux-arc*)
target=linux-generic32
;;
linux-powerpc)
diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.1-pre9.bb b/meta/recipes-connectivity/openssl/openssl_1.1.1-pre9.bb
index c13731f..ed3fbdd 100644
--- a/meta/recipes-connectivity/openssl/openssl_1.1.1-pre9.bb
+++ b/meta/recipes-connectivity/openssl/openssl_1.1.1-pre9.bb
@@ -82,7 +82,7 @@ do_configure () {
linux-*-mips64 | linux-mips64 | linux-*-mips64el | linux-mips64el)
target=linux64-mips64
;;
- linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4)
+ linux-microblaze* | linux-nios2* | linux-sh3 | linux-sh4 | linux-arc*)
target=linux-generic32
;;
linux-powerpc)
--
1.8.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 05/10] nspr: Add ARC support
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
` (3 preceding siblings ...)
2018-09-17 21:29 ` [PATCH 04/10] openssl: Add support for ARC Alexey Brodkin
@ 2018-09-17 21:29 ` Alexey Brodkin
2018-09-17 21:29 ` [PATCH 06/10] libgpg-error: " Alexey Brodkin
` (6 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Alexey Brodkin @ 2018-09-17 21:29 UTC (permalink / raw)
To: openembedded-core; +Cc: Antoine Tenart, linux-snps-arc, Alexey Brodkin
From: Antoine Tenart <antoine.tenart@bootlin.com>
[Alexey: Rebased on top of other patches like RiscV, NIOS2 etc]
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
.../nspr/nspr/0004-Add-ARC-support.patch | 86 ++++++++++++++++++++++
meta/recipes-support/nspr/nspr_4.19.bb | 1 +
2 files changed, 87 insertions(+)
create mode 100644 meta/recipes-support/nspr/nspr/0004-Add-ARC-support.patch
diff --git a/meta/recipes-support/nspr/nspr/0004-Add-ARC-support.patch b/meta/recipes-support/nspr/nspr/0004-Add-ARC-support.patch
new file mode 100644
index 0000000..dda1928
--- /dev/null
+++ b/meta/recipes-support/nspr/nspr/0004-Add-ARC-support.patch
@@ -0,0 +1,86 @@
+From 6cb5b0be8837222a1e01745f2cf57cd0e593186d Mon Sep 17 00:00:00 2001
+From: Antoine Tenart <antoine.tenart@free-electrons.com>
+Date: Mon, 23 Oct 2017 10:28:20 +0200
+Subject: [PATCH] Add ARC support
+
+[Alexey: Rebased on top of other patches like RiscV, NIOS2 etc].
+
+Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ pr/include/md/_linux.cfg | 45 ++++++++++++++++++++++++++++++++++++++++
+ pr/include/md/_linux.h | 2 ++
+ 2 files changed, 47 insertions(+)
+
+diff --git a/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg
+index fec8525378dc..5f4fa0eac783 100644
+--- a/pr/include/md/_linux.cfg
++++ b/pr/include/md/_linux.cfg
+@@ -1157,6 +1157,51 @@
+ #define PR_BYTES_PER_WORD_LOG2 3
+ #define PR_BYTES_PER_DWORD_LOG2 3
+
++#elif defined(__arc__)
++
++#define IS_LITTLE_ENDIAN 1
++#undef IS_BIG_ENDIAN
++
++#define PR_BYTES_PER_BYTE 1
++#define PR_BYTES_PER_SHORT 2
++#define PR_BYTES_PER_INT 4
++#define PR_BYTES_PER_INT64 8
++#define PR_BYTES_PER_LONG 4
++#define PR_BYTES_PER_FLOAT 4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD 4
++#define PR_BYTES_PER_DWORD 8
++
++#define PR_BITS_PER_BYTE 8
++#define PR_BITS_PER_SHORT 16
++#define PR_BITS_PER_INT 32
++#define PR_BITS_PER_INT64 64
++#define PR_BITS_PER_LONG 32
++#define PR_BITS_PER_FLOAT 32
++#define PR_BITS_PER_DOUBLE 64
++#define PR_BITS_PER_WORD 32
++
++#define PR_BITS_PER_BYTE_LOG2 3
++#define PR_BITS_PER_SHORT_LOG2 4
++#define PR_BITS_PER_INT_LOG2 5
++#define PR_BITS_PER_INT64_LOG2 6
++#define PR_BITS_PER_LONG_LOG2 5
++#define PR_BITS_PER_FLOAT_LOG2 5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2 5
++
++#define PR_ALIGN_OF_SHORT 2
++#define PR_ALIGN_OF_INT 4
++#define PR_ALIGN_OF_LONG 4
++#define PR_ALIGN_OF_INT64 4
++#define PR_ALIGN_OF_FLOAT 4
++#define PR_ALIGN_OF_DOUBLE 4
++#define PR_ALIGN_OF_POINTER 4
++#define PR_ALIGN_OF_WORD 4
++
++#define PR_BYTES_PER_WORD_LOG2 2
++#define PR_BYTES_PER_DWORD_LOG2 3
++
+ #else
+
+ #error "Unknown CPU architecture"
+diff --git a/pr/include/md/_linux.h b/pr/include/md/_linux.h
+index 8e04fad479a1..628b1217e9c8 100644
+--- a/pr/include/md/_linux.h
++++ b/pr/include/md/_linux.h
+@@ -63,6 +63,8 @@
+ #define _PR_SI_ARCHITECTURE "riscv32"
+ #elif defined(__riscv) && (__riscv_xlen == 64)
+ #define _PR_SI_ARCHITECTURE "riscv64"
++#elif defined(__arc__)
++#define _PR_SI_ARCHITECTURE "arc"
+ #else
+ #error "Unknown CPU architecture"
+ #endif
+--
+2.17.1
+
diff --git a/meta/recipes-support/nspr/nspr_4.19.bb b/meta/recipes-support/nspr/nspr_4.19.bb
index b5264be..0212be7 100644
--- a/meta/recipes-support/nspr/nspr_4.19.bb
+++ b/meta/recipes-support/nspr/nspr_4.19.bb
@@ -12,6 +12,7 @@ SRC_URI = "http://ftp.mozilla.org/pub/nspr/releases/v${PV}/src/nspr-${PV}.tar.gz
file://0002-Add-nios2-support.patch \
file://0001-md-Fix-build-with-musl.patch \
file://0003-Add-type-definitions-for-the-RISC-V-architecture.patch \
+ file://0004-Add-ARC-support.patch \
file://nspr.pc.in \
"
--
1.8.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 06/10] libgpg-error: Add ARC support
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
` (4 preceding siblings ...)
2018-09-17 21:29 ` [PATCH 05/10] nspr: Add ARC support Alexey Brodkin
@ 2018-09-17 21:29 ` Alexey Brodkin
2018-09-17 21:29 ` [PATCH 07/10] icu: " Alexey Brodkin
` (5 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Alexey Brodkin @ 2018-09-17 21:29 UTC (permalink / raw)
To: openembedded-core; +Cc: Mylene Josserand, linux-snps-arc, Alexey Brodkin
From: Mylene Josserand <mylene.josserand@bootlin.com>
Signed-off-by: Mylene Josserand <mylene.josserand@bootlin.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
.../0001-syscfg-Add-an-arc-architecture.patch | 75 ++++++++++++++++++++++
.../libgpg-error/libgpg-error_1.32.bb | 1 +
2 files changed, 76 insertions(+)
create mode 100644 meta/recipes-support/libgpg-error/libgpg-error/0001-syscfg-Add-an-arc-architecture.patch
diff --git a/meta/recipes-support/libgpg-error/libgpg-error/0001-syscfg-Add-an-arc-architecture.patch b/meta/recipes-support/libgpg-error/libgpg-error/0001-syscfg-Add-an-arc-architecture.patch
new file mode 100644
index 0000000..df7c6fd
--- /dev/null
+++ b/meta/recipes-support/libgpg-error/libgpg-error/0001-syscfg-Add-an-arc-architecture.patch
@@ -0,0 +1,75 @@
+From f2bad39e70bbd73e6e2e14a2bbfaa0103b5f6fec Mon Sep 17 00:00:00 2001
+From: Mylene Josserand <mylene.josserand@bootlin.com>
+Date: Thu, 13 Sep 2018 16:39:56 +0300
+Subject: [PATCH libgpg-error] syscfg: Add ARC architecture
+
+DesignWare ARC Processors are a family of 32-bit CPUs from Synopsys.
+This change allows us to build for and use libgpg-error on ARC cores.
+
+These values were obtained from a test application executed on ARC
+in simulation this way:
+
+1. Instructions for cross-compilation used are here:
+ http://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=blob;f=README
+
+2. Commands used on host:
+ # build="$(build-aux/config.guess)"
+ # ./configure --prefix=build/tmp-uclibc/sysroots/nsimhs/usr/ --host=arc-oe-linux-uclibc --build=$build
+ # cd src
+ # make gen-posix-lock-obj
+
+3. Commands used on target:
+ # ./gen-posix-lock-obj
+
+Signed-off-by: Mylene Josserand <mylene.josserand@bootlin.com>
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ src/Makefile.am | 1 +
+ .../lock-obj-pub.arc-unknown-linux-gnu.h | 23 +++++++++++++++++++
+ 2 files changed, 24 insertions(+)
+ create mode 100644 src/syscfg/lock-obj-pub.arc-unknown-linux-gnu.h
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 380ea7c09c04..bd00961c2f27 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -47,6 +47,7 @@ lock_obj_pub = \
+ syscfg/lock-obj-pub.aarch64-unknown-linux-gnu.h \
+ syscfg/lock-obj-pub.aarch64-apple-darwin.h \
+ syscfg/lock-obj-pub.alpha-unknown-linux-gnu.h \
++ syscfg/lock-obj-pub.arc-unknown-linux-gnu.h \
+ syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h \
+ syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h \
+ syscfg/lock-obj-pub.arm-apple-darwin.h \
+diff --git a/src/syscfg/lock-obj-pub.arc-unknown-linux-gnu.h b/src/syscfg/lock-obj-pub.arc-unknown-linux-gnu.h
+new file mode 100644
+index 000000000000..3b1a8fadf8a7
+--- /dev/null
++++ b/src/syscfg/lock-obj-pub.arc-unknown-linux-gnu.h
+@@ -0,0 +1,23 @@
++## lock-obj-pub.arc-oe-linux-uclibc.h
++## File created by gen-posix-lock-obj - DO NOT EDIT
++## To be included by mkheader into gpg-error.h
++
++typedef struct
++{
++ long _vers;
++ union {
++ volatile char _priv[24];
++ long _x_align;
++ long *_xp_align;
++ } u;
++} gpgrt_lock_t;
++
++#define GPGRT_LOCK_INITIALIZER {1,{{0,0,0,0,0,0,0,0, \
++ 0,0,0,0,0,0,0,0, \
++ 0,0,0,0,0,0,0,0}}}
++##
++## Local Variables:
++## mode: c
++## buffer-read-only: t
++## End:
++##
+--
+2.17.1
+
diff --git a/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb b/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb
index a4c720b..d602df5 100644
--- a/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb
+++ b/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb
@@ -14,6 +14,7 @@ SECTION = "libs"
UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html"
SRC_URI = "${GNUPG_MIRROR}/libgpg-error/libgpg-error-${PV}.tar.bz2 \
file://pkgconfig.patch \
+ file://0001-syscfg-Add-an-arc-architecture.patch \
"
SRC_URI[md5sum] = "ef3d928a5a453fa701ecc3bb22be1c64"
SRC_URI[sha256sum] = "c345c5e73cc2332f8d50db84a2280abfb1d8f6d4f1858b9daa30404db44540ca"
--
1.8.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 07/10] icu: Add ARC support
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
` (5 preceding siblings ...)
2018-09-17 21:29 ` [PATCH 06/10] libgpg-error: " Alexey Brodkin
@ 2018-09-17 21:29 ` Alexey Brodkin
2018-09-17 21:29 ` [PATCH 08/10] gcc: Disable libitm for ARC Alexey Brodkin
` (4 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Alexey Brodkin @ 2018-09-17 21:29 UTC (permalink / raw)
To: openembedded-core; +Cc: linux-snps-arc, Alexey Brodkin
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
.../icu/icu/0002-Add-ARC-support.patch | 25 ++++++++++++++++++++++
meta/recipes-support/icu/icu_62.1.bb | 1 +
2 files changed, 26 insertions(+)
create mode 100644 meta/recipes-support/icu/icu/0002-Add-ARC-support.patch
diff --git a/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch b/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch
new file mode 100644
index 0000000..48cbc11
--- /dev/null
+++ b/meta/recipes-support/icu/icu/0002-Add-ARC-support.patch
@@ -0,0 +1,25 @@
+From fcfd57105b4bdb30d906df152ef01748fa95daff Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Thu, 13 Sep 2018 17:13:20 +0300
+Subject: [PATCH] icu: Add ARC support
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ i18n/double-conversion-utils.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/i18n/double-conversion-utils.h b/i18n/double-conversion-utils.h
+index 57fc49b231a3..0bd3e8340673 100644
+--- a/i18n/double-conversion-utils.h
++++ b/i18n/double-conversion-utils.h
+@@ -86,7 +86,7 @@ inline void abort_noreturn() { abort(); }
+ defined(__SH4__) || defined(__alpha__) || \
+ defined(_MIPS_ARCH_MIPS32R2) || \
+ defined(__AARCH64EL__) || defined(__aarch64__) || \
+- defined(__riscv)
++ defined(__riscv) || defined(__arc__)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(__mc68000__)
+ #undef DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS
+2.17.1
+
diff --git a/meta/recipes-support/icu/icu_62.1.bb b/meta/recipes-support/icu/icu_62.1.bb
index ec9db7d..4e3750b 100644
--- a/meta/recipes-support/icu/icu_62.1.bb
+++ b/meta/recipes-support/icu/icu_62.1.bb
@@ -16,6 +16,7 @@ BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-${ICU_PV
SRC_URI = "${BASE_SRC_URI} \
file://icu-pkgdata-large-cmd.patch \
file://fix-install-manx.patch \
+ file://0002-Add-ARC-support.patch \
"
SRC_URI_append_class-target = "\
--
1.8.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 08/10] gcc: Disable libitm for ARC
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
` (6 preceding siblings ...)
2018-09-17 21:29 ` [PATCH 07/10] icu: " Alexey Brodkin
@ 2018-09-17 21:29 ` Alexey Brodkin
2018-09-17 21:29 ` [PATCH 09/10] binutils: Fix Glibc building " Alexey Brodkin
` (3 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Alexey Brodkin @ 2018-09-17 21:29 UTC (permalink / raw)
To: openembedded-core; +Cc: linux-snps-arc, Alexey Brodkin
The libitm is not supported on ARC, so disable it
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
meta/recipes-devtools/gcc/gcc-runtime.inc | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index 72b8081..9e7e7c5 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -17,6 +17,7 @@ EXTRA_OECONF_PATHS = "\
EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
RUNTIMELIBITM = "libitm"
+RUNTIMELIBITM_arc = ""
RUNTIMELIBITM_mipsarch = ""
RUNTIMELIBITM_nios2 = ""
RUNTIMELIBITM_microblaze = ""
--
1.8.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 09/10] binutils: Fix Glibc building for ARC
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
` (7 preceding siblings ...)
2018-09-17 21:29 ` [PATCH 08/10] gcc: Disable libitm for ARC Alexey Brodkin
@ 2018-09-17 21:29 ` Alexey Brodkin
2018-09-17 21:29 ` [PATCH 10/10] gcc: Fix specs generation " Alexey Brodkin
` (2 subsequent siblings)
11 siblings, 0 replies; 15+ messages in thread
From: Alexey Brodkin @ 2018-09-17 21:29 UTC (permalink / raw)
To: openembedded-core; +Cc: linux-snps-arc, Alexey Brodkin
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
meta/recipes-devtools/binutils/binutils-2.31.inc | 4 +
...location-where-GOT-information-is-collect.patch | 198 +++++++++++++++++++++
...bustness.-Return-FALSE-in-case-of-NULL-po.patch | 35 ++++
...lobal-symbol-is-not-an-indirect-or-warnin.patch | 43 +++++
...tion-was-still-being-generated-when-symbo.patch | 37 ++++
5 files changed, 317 insertions(+)
create mode 100644 meta/recipes-devtools/binutils/binutils/0018-Refactored-location-where-GOT-information-is-collect.patch
create mode 100644 meta/recipes-devtools/binutils/binutils/0019-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch
create mode 100644 meta/recipes-devtools/binutils/binutils/0020-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch
create mode 100644 meta/recipes-devtools/binutils/binutils/0021-PLT-information-was-still-being-generated-when-symbo.patch
diff --git a/meta/recipes-devtools/binutils/binutils-2.31.inc b/meta/recipes-devtools/binutils/binutils-2.31.inc
index bc951d7..76add0f 100644
--- a/meta/recipes-devtools/binutils/binutils-2.31.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.31.inc
@@ -37,6 +37,10 @@ SRC_URI = "\
file://0015-sync-with-OE-libtool-changes.patch \
file://0016-add-i386pep-emulation-for-x86_64.patch \
file://0017-improve-check-for-input-file-matching-output-file.patch \
+ file://0018-Refactored-location-where-GOT-information-is-collect.patch \
+ file://0019-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch \
+ file://0020-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch \
+ file://0021-PLT-information-was-still-being-generated-when-symbo.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/binutils/binutils/0018-Refactored-location-where-GOT-information-is-collect.patch b/meta/recipes-devtools/binutils/binutils/0018-Refactored-location-where-GOT-information-is-collect.patch
new file mode 100644
index 0000000..306c65f
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0018-Refactored-location-where-GOT-information-is-collect.patch
@@ -0,0 +1,198 @@
+From d930affa2d475d1cc6792f1e6d56bef3d6c617db Mon Sep 17 00:00:00 2001
+From: Cupertino Miranda <cmiranda@synopsys.com>
+Date: Fri, 2 Mar 2018 17:16:21 +0100
+Subject: [PATCH] Refactored location where GOT information is collected.
+
+Change location where GOT information is collected for ARC target, avoiding
+posible use conflicts of the previous .got field in the symbols hash_entry.
+
+bfd/
+2018-03-01 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * arc-got.h (get_got_entry_list_for_symbol): Changed.
+ * ef32-arc.c (struct elf_arc_link_hash_entry): Moved and changed.
+ (elf_arc_link_hash_newfunc): Changed.
+ (arc_elf_link_hash_table_create): Removed old initializations.
+ (elf_arc_relocate_section, elf_arc_finish_dynamic_symbol): Changed.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+[Romain: rebase on top of 2.31]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ bfd/arc-got.h | 6 +++--
+ bfd/elf32-arc.c | 77 +++++++++++++++++++++++++++++++--------------------------
+ 2 files changed, 46 insertions(+), 37 deletions(-)
+
+diff --git a/bfd/arc-got.h b/bfd/arc-got.h
+index a86061bcb38..81ce88fe21a 100644
+--- a/bfd/arc-got.h
++++ b/bfd/arc-got.h
+@@ -156,9 +156,11 @@ get_got_entry_list_for_symbol (bfd *abfd,
+ unsigned long r_symndx,
+ struct elf_link_hash_entry *h)
+ {
+- if (h != NULL)
++ struct elf_arc_link_hash_entry *h1 =
++ ((struct elf_arc_link_hash_entry *) h);
++ if (h1 != NULL)
+ {
+- return &h->got.glist;
++ return &h1->got_ents;
+ }
+ else
+ {
+diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
+index a48ef0ca15f..ab84de43815 100644
+--- a/bfd/elf32-arc.c
++++ b/bfd/elf32-arc.c
+@@ -160,6 +160,18 @@ struct arc_relocation_data
+ const char * symbol_name;
+ };
+
++/* ARC ELF linker hash entry. */
++struct elf_arc_link_hash_entry
++{
++ struct elf_link_hash_entry root;
++
++ /* Track dynamic relocs copied for this symbol. */
++ struct elf_dyn_relocs *dyn_relocs;
++
++ struct got_entry *got_ents;
++};
++
++
+ /* Should be included at this location due to static declarations
+ defined before this point. */
+ #include "arc-got.h"
+@@ -281,15 +293,6 @@ struct arc_reloc_map
+ unsigned char elf_reloc_val;
+ };
+
+-/* ARC ELF linker hash entry. */
+-struct elf_arc_link_hash_entry
+-{
+- struct elf_link_hash_entry root;
+-
+- /* Track dynamic relocs copied for this symbol. */
+- struct elf_dyn_relocs *dyn_relocs;
+-};
+-
+ /* ARC ELF linker hash table. */
+ struct elf_arc_link_hash_table
+ {
+@@ -301,28 +304,28 @@ elf_arc_link_hash_newfunc (struct bfd_hash_entry *entry,
+ struct bfd_hash_table *table,
+ const char *string)
+ {
++ struct elf_arc_link_hash_entry * ret =
++ (struct elf_arc_link_hash_entry *) entry;
++
+ /* Allocate the structure if it has not already been allocated by a
+ subclass. */
+- if (entry == NULL)
+- {
+- entry = (struct bfd_hash_entry *)
+- bfd_hash_allocate (table,
+- sizeof (struct elf_arc_link_hash_entry));
+- if (entry == NULL)
+- return entry;
+- }
++ if (ret == NULL)
++ ret = (struct elf_arc_link_hash_entry *)
++ bfd_hash_allocate (table, sizeof (struct elf_arc_link_hash_entry));
++ if (ret == NULL)
++ return (struct bfd_hash_entry *) ret;
+
+ /* Call the allocation method of the superclass. */
+- entry = _bfd_elf_link_hash_newfunc (entry, table, string);
+- if (entry != NULL)
++ ret = ((struct elf_arc_link_hash_entry *)
++ _bfd_elf_link_hash_newfunc ((struct bfd_hash_entry *) ret,
++ table, string));
++ if (ret != NULL)
+ {
+- struct elf_arc_link_hash_entry *eh;
+-
+- eh = (struct elf_arc_link_hash_entry *) entry;
+- eh->dyn_relocs = NULL;
++ ret->dyn_relocs = NULL;
++ ret->got_ents = NULL;
+ }
+
+- return entry;
++ return (struct bfd_hash_entry *) ret;
+ }
+
+ /* Destroy an ARC ELF linker hash table. */
+@@ -352,11 +355,6 @@ arc_elf_link_hash_table_create (bfd *abfd)
+ return NULL;
+ }
+
+- ret->elf.init_got_refcount.refcount = 0;
+- ret->elf.init_got_refcount.glist = NULL;
+- ret->elf.init_got_offset.offset = 0;
+- ret->elf.init_got_offset.glist = NULL;
+-
+ ret->elf.root.hash_table_free = elf_arc_link_hash_table_free;
+
+ return &ret->elf.root;
+@@ -1615,10 +1613,14 @@ elf_arc_relocate_section (bfd * output_bfd,
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ {
+- struct elf_link_hash_entry *h_old = h;
++ struct elf_arc_link_hash_entry *ah_old =
++ (struct elf_arc_link_hash_entry *) h;
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+- if (h->got.glist == 0 && h_old->got.glist != h->got.glist)
+- h->got.glist = h_old->got.glist;
++ struct elf_arc_link_hash_entry *ah =
++ (struct elf_arc_link_hash_entry *) h;
++
++ if (ah->got_ents == 0 && ah_old->got_ents != ah->got_ents)
++ ah->got_ents = ah_old->got_ents;
+ }
+
+ /* TODO: Need to validate what was the intention. */
+@@ -1636,6 +1638,8 @@ elf_arc_relocate_section (bfd * output_bfd,
+
+ if (is_reloc_for_GOT (howto) && !bfd_link_pic (info))
+ {
++ struct elf_arc_link_hash_entry *ah =
++ (struct elf_arc_link_hash_entry *) h;
+ /* TODO: Change it to use arc_do_relocation with
+ ARC_32 reloc. Try to use ADD_RELA macro. */
+ bfd_vma relocation =
+@@ -1645,8 +1649,8 @@ elf_arc_relocate_section (bfd * output_bfd,
+ + reloc_data.sym_section->output_section->vma)
+ : 0);
+
+- BFD_ASSERT (h->got.glist);
+- bfd_vma got_offset = h->got.glist->offset;
++ BFD_ASSERT (ah->got_ents);
++ bfd_vma got_offset = ah->got_ents->offset;
+ bfd_put_32 (output_bfd, relocation,
+ htab->sgot->contents + got_offset);
+ }
+@@ -1958,6 +1962,7 @@ elf_arc_check_relocs (bfd * abfd,
+ else /* Global one. */
+ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
+
++
+ switch (r_type)
+ {
+ case R_ARC_32:
+@@ -2404,7 +2409,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd,
+ create respective dynamic relocs. */
+ /* TODO: Make function to get list and not access the list directly. */
+ /* TODO: Move function to relocate_section create this relocs eagerly. */
+- create_got_dynrelocs_for_got_info (&h->got.glist,
++ struct elf_arc_link_hash_entry *ah =
++ (struct elf_arc_link_hash_entry *) h;
++ create_got_dynrelocs_for_got_info (&ah->got_ents,
+ output_bfd,
+ info,
+ h);
+--
+2.14.4
+
diff --git a/meta/recipes-devtools/binutils/binutils/0019-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch b/meta/recipes-devtools/binutils/binutils/0019-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch
new file mode 100644
index 0000000..b6e6d20
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0019-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch
@@ -0,0 +1,35 @@
+From 955176bd999fe80c5b937ab8786665079e35c387 Mon Sep 17 00:00:00 2001
+From: Cupertino Miranda <cmiranda@synopsys.com>
+Date: Fri, 2 Mar 2018 17:33:48 +0100
+Subject: [PATCH] Improved robustness. Return FALSE in case of NULL pointer.
+
+bfd/
+2018-03-01 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * elf32-arc.c (elf_arc_finish_dynamic_symbol) Return FALSE in case
+ arc_htab is NULL.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+[Romain: rebase on top of 2.31]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ bfd/elf32-arc.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
+index ab84de43815..33fc72cff6e 100644
+--- a/bfd/elf32-arc.c
++++ b/bfd/elf32-arc.c
+@@ -2420,6 +2420,9 @@ elf_arc_finish_dynamic_symbol (bfd * output_bfd,
+ {
+ struct elf_arc_link_hash_table *arc_htab = elf_arc_hash_table (info);
+
++ if(arc_htab == NULL)
++ return FALSE;
++
+ if (h->dynindx == -1
+ || (h->root.type != bfd_link_hash_defined
+ && h->root.type != bfd_link_hash_defweak)
+--
+2.14.4
+
diff --git a/meta/recipes-devtools/binutils/binutils/0020-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch b/meta/recipes-devtools/binutils/binutils/0020-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch
new file mode 100644
index 0000000..c3558fe
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0020-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch
@@ -0,0 +1,43 @@
+From 9d09ce14b4eef2b56f24660fd69a44acd45128b2 Mon Sep 17 00:00:00 2001
+From: Cupertino Miranda <cmiranda@synopsys.com>
+Date: Fri, 2 Mar 2018 17:38:14 +0100
+Subject: [PATCH] Make sure global symbol is not an indirect or warning.
+
+Problem identified in the context of glibc with latest upstream binutils.
+Dynamic symbol space was being reserved but, no actual information for the
+symbol was being set. Data for the symbol was kept initialized with -1.
+No easy test case was possible to be created.
+
+bfd/
+2018-03-01 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * elf32-arc.c (elf_arc_check_relocs): Changed.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+[Romain: rebase on top of 2.31]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ bfd/elf32-arc.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
+index 33fc72cff6e..9b72c5b4f4f 100644
+--- a/bfd/elf32-arc.c
++++ b/bfd/elf32-arc.c
+@@ -1960,7 +1960,12 @@ elf_arc_check_relocs (bfd * abfd,
+ if (r_symndx < symtab_hdr->sh_info) /* Is a local symbol. */
+ h = NULL;
+ else /* Global one. */
+- h = sym_hashes[r_symndx - symtab_hdr->sh_info];
++ {
++ h = sym_hashes[r_symndx - symtab_hdr->sh_info];
++ while (h->root.type == bfd_link_hash_indirect
++ || h->root.type == bfd_link_hash_warning)
++ h = (struct elf_link_hash_entry *) h->root.u.i.link;
++ }
+
+
+ switch (r_type)
+--
+2.14.4
+
diff --git a/meta/recipes-devtools/binutils/binutils/0021-PLT-information-was-still-being-generated-when-symbo.patch b/meta/recipes-devtools/binutils/binutils/0021-PLT-information-was-still-being-generated-when-symbo.patch
new file mode 100644
index 0000000..60bb522
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0021-PLT-information-was-still-being-generated-when-symbo.patch
@@ -0,0 +1,37 @@
+From e4861c68067cb2166b4c2bb9c052abeb6ad9aaa1 Mon Sep 17 00:00:00 2001
+From: Cupertino Miranda <cmiranda@synopsys.com>
+Date: Fri, 2 Mar 2018 17:44:29 +0100
+Subject: [PATCH] PLT information was still being generated when symbol was
+ forced_local.
+
+A change upstream reveiled this issue, triggering an assert when linking glibc.
+
+bfd/
+2018-03-01 Cupertino Miranda <cmiranda@synopsys.com>
+
+ * elf32-arc.c (elf_arc_check_relocs): Changed.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+[Romain: rebase on top of 2.31]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ bfd/elf32-arc.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/bfd/elf32-arc.c b/bfd/elf32-arc.c
+index 9b72c5b4f4f..b40b463d34d 100644
+--- a/bfd/elf32-arc.c
++++ b/bfd/elf32-arc.c
+@@ -2041,7 +2041,8 @@ elf_arc_check_relocs (bfd * abfd,
+ if (h == NULL)
+ continue;
+ else
+- h->needs_plt = 1;
++ if(h->forced_local == 0)
++ h->needs_plt = 1;
+ }
+
+ /* Add info to the symbol got_entry_list. */
+--
+2.14.4
+
--
1.8.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* [PATCH 10/10] gcc: Fix specs generation for ARC
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
` (8 preceding siblings ...)
2018-09-17 21:29 ` [PATCH 09/10] binutils: Fix Glibc building " Alexey Brodkin
@ 2018-09-17 21:29 ` Alexey Brodkin
2018-09-18 23:21 ` Khem Raj
2018-09-17 22:04 ` ✗ patchtest: failure for Introduce ARC port of OpenEmbedded Patchwork
2018-09-18 23:28 ` [PATCH 00/10] " Khem Raj
11 siblings, 1 reply; 15+ messages in thread
From: Alexey Brodkin @ 2018-09-17 21:29 UTC (permalink / raw)
To: openembedded-core; +Cc: linux-snps-arc, Alexey Brodkin
GCC's built-in spec for LD is missing a space after
"--eh-frame-hdr" thus with the next option merged together they
are not understood by LD and so LD fails.
Back-port from upstream GCC, see:
https://github.com/gcc-mirror/gcc/commit/892142379c6b99fe8c3ebdfe0b79e2a435228c1d
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
meta/recipes-devtools/gcc/gcc-8.2.inc | 1 +
.../gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch | 40 ++++++++++++++++++++++
2 files changed, 41 insertions(+)
create mode 100644 meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch
diff --git a/meta/recipes-devtools/gcc/gcc-8.2.inc b/meta/recipes-devtools/gcc/gcc-8.2.inc
index 889187e..866a775 100644
--- a/meta/recipes-devtools/gcc/gcc-8.2.inc
+++ b/meta/recipes-devtools/gcc/gcc-8.2.inc
@@ -69,6 +69,7 @@ SRC_URI = "\
file://0038-fix-segmentation-fault-in-precompiled-header-generat.patch \
file://0039-Fix-for-testsuite-failure.patch \
file://0040-Re-introduce-spe-commandline-options.patch \
+ file://0041-ARC-fix-spec-gen.patch \
${BACKPORTS} \
"
BACKPORTS = "\
diff --git a/meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch b/meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch
new file mode 100644
index 0000000..d746d79
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch
@@ -0,0 +1,40 @@
+From 892142379c6b99fe8c3ebdfe0b79e2a435228c1d Mon Sep 17 00:00:00 2001
+From: claziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Mon, 17 Sep 2018 08:52:10 +0000
+Subject: [PATCH] [ARC] Update LINK_EH_SPEC linker spec.
+
+With no trailing space in LINK_EH_SPEC linker spec gets generated as:
+------------------------>8---------------------
+%{!r:--build-id} --eh-frame-hdr%{h*} ...
+------------------------>8---------------------
+
+or even worse if hash style is added:
+------------------------>8---------------------
+%{!r:--build-id} --eh-frame-hdr--hash-style=sysv %{h*} ...
+------------------------>8---------------------
+
+Now if that spec is really used by LD then it fails inevitably
+saying that it doesn't know option "--eh-frame-hdr--hash-style=sysv".
+
+2018-09-17 Alexey Brodkin <abrodkin@synopsys.com>
+
+ * config/arc/linux.h (LINK_EH_SPEC): Add missing space.
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264361 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ gcc/config/arc/linux.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletion(-)
+
+diff --git a/gcc/config/arc/linux.h b/gcc/config/arc/linux.h
+index 96d548eae341..62ebe4de0fc7 100644
+--- a/gcc/config/arc/linux.h
++++ b/gcc/config/arc/linux.h
+@@ -98,7 +98,7 @@ along with GCC; see the file COPYING3. If not see
+ Signalize that because we have fde-glibc, we don't need all C shared libs
+ linked against -lgcc_s. */
+ #undef LINK_EH_SPEC
+-#define LINK_EH_SPEC "--eh-frame-hdr"
++#define LINK_EH_SPEC "--eh-frame-hdr "
+ #endif
+
+ #undef SUBTARGET_CPP_SPEC
--
1.8.3.1
^ permalink raw reply related [flat|nested] 15+ messages in thread* Re: [PATCH 10/10] gcc: Fix specs generation for ARC
2018-09-17 21:29 ` [PATCH 10/10] gcc: Fix specs generation " Alexey Brodkin
@ 2018-09-18 23:21 ` Khem Raj
0 siblings, 0 replies; 15+ messages in thread
From: Khem Raj @ 2018-09-18 23:21 UTC (permalink / raw)
To: Alexey Brodkin; +Cc: linux-snps-arc, openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3397 bytes --]
On Mon, Sep 17, 2018 at 2:30 PM Alexey Brodkin <Alexey.Brodkin@synopsys.com>
wrote:
> GCC's built-in spec for LD is missing a space after
> "--eh-frame-hdr" thus with the next option merged together they
> are not understood by LD and so LD fails.
>
> Back-port from upstream GCC, see:
>
> https://github.com/gcc-mirror/gcc/commit/892142379c6b99fe8c3ebdfe0b79e2a435228c1d
>
Can you add this to
Upstream-Status tag in patch file itself
>
> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> ---
> meta/recipes-devtools/gcc/gcc-8.2.inc | 1 +
> .../gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch | 40
> ++++++++++++++++++++++
> 2 files changed, 41 insertions(+)
> create mode 100644
> meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch
>
> diff --git a/meta/recipes-devtools/gcc/gcc-8.2.inc
> b/meta/recipes-devtools/gcc/gcc-8.2.inc
> index 889187e..866a775 100644
> --- a/meta/recipes-devtools/gcc/gcc-8.2.inc
> +++ b/meta/recipes-devtools/gcc/gcc-8.2.inc
> @@ -69,6 +69,7 @@ SRC_URI = "\
>
> file://0038-fix-segmentation-fault-in-precompiled-header-generat.patch \
> file://0039-Fix-for-testsuite-failure.patch \
> file://0040-Re-introduce-spe-commandline-options.patch \
> + file://0041-ARC-fix-spec-gen.patch \
> ${BACKPORTS} \
> "
> BACKPORTS = "\
> diff --git a/meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch
> b/meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch
> new file mode 100644
> index 0000000..d746d79
> --- /dev/null
> +++ b/meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch
> @@ -0,0 +1,40 @@
> +From 892142379c6b99fe8c3ebdfe0b79e2a435228c1d Mon Sep 17 00:00:00 2001
> +From: claziss <claziss@138bc75d-0d04-0410-961f-82ee72b054a4>
> +Date: Mon, 17 Sep 2018 08:52:10 +0000
> +Subject: [PATCH] [ARC] Update LINK_EH_SPEC linker spec.
> +
> +With no trailing space in LINK_EH_SPEC linker spec gets generated as:
> +------------------------>8---------------------
> +%{!r:--build-id} --eh-frame-hdr%{h*} ...
> +------------------------>8---------------------
> +
> +or even worse if hash style is added:
> +------------------------>8---------------------
> +%{!r:--build-id} --eh-frame-hdr--hash-style=sysv %{h*} ...
> +------------------------>8---------------------
> +
> +Now if that spec is really used by LD then it fails inevitably
> +saying that it doesn't know option "--eh-frame-hdr--hash-style=sysv".
> +
> +2018-09-17 Alexey Brodkin <abrodkin@synopsys.com>
> +
> + * config/arc/linux.h (LINK_EH_SPEC): Add missing space.
> +
> +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@264361
> 138bc75d-0d04-0410-961f-82ee72b054a4
> +---
> + gcc/config/arc/linux.h | 2 +-
> + 1 files changed, 1 insertions(+), 1 deletion(-)
> +
> +diff --git a/gcc/config/arc/linux.h b/gcc/config/arc/linux.h
> +index 96d548eae341..62ebe4de0fc7 100644
> +--- a/gcc/config/arc/linux.h
> ++++ b/gcc/config/arc/linux.h
> +@@ -98,7 +98,7 @@ along with GCC; see the file COPYING3. If not see
> + Signalize that because we have fde-glibc, we don't need all C shared
> libs
> + linked against -lgcc_s. */
> + #undef LINK_EH_SPEC
> +-#define LINK_EH_SPEC "--eh-frame-hdr"
> ++#define LINK_EH_SPEC "--eh-frame-hdr "
> + #endif
> +
> + #undef SUBTARGET_CPP_SPEC
> --
> 1.8.3.1
>
>
[-- Attachment #2: Type: text/html, Size: 4458 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* ✗ patchtest: failure for Introduce ARC port of OpenEmbedded
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
` (9 preceding siblings ...)
2018-09-17 21:29 ` [PATCH 10/10] gcc: Fix specs generation " Alexey Brodkin
@ 2018-09-17 22:04 ` Patchwork
2018-09-18 23:28 ` [PATCH 00/10] " Khem Raj
11 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2018-09-17 22:04 UTC (permalink / raw)
To: Alexey Brodkin; +Cc: openembedded-core
== Series Details ==
Series: Introduce ARC port of OpenEmbedded
Revision: 1
URL : https://patchwork.openembedded.org/series/14104/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is
an automated response. Several tests have been executed on the proposed
series by patchtest resulting in the following failures:
* Issue Series does not apply on top of target branch [test_series_merge_on_head]
Suggested fix Rebase your series on top of targeted branch
Targeted branch master (currently at 6a1e550838)
* Issue A patch file has been added, but does not have a Signed-off-by tag [test_signed_off_by_presence]
Suggested fix Sign off the added patch file (meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch)
* Issue Added patch file is missing Upstream-Status in the header [test_upstream_status_presence_format]
Suggested fix Add Upstream-Status: <Valid status> to the header of meta/recipes-support/nspr/nspr/0004-Add-ARC-support.patch
Standard format Upstream-Status: <Valid status>
Valid status Pending, Accepted, Backport, Denied, Inappropriate [reason], Submitted [where]
If you believe any of these test results are incorrect, please reply to the
mailing list (openembedded-core@lists.openembedded.org) raising your concerns.
Otherwise we would appreciate you correcting the issues and submitting a new
version of the patchset if applicable. Please ensure you add/increment the
version number when sending the new version (i.e. [PATCH] -> [PATCH v2] ->
[PATCH v3] -> ...).
---
Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe
^ permalink raw reply [flat|nested] 15+ messages in thread* Re: [PATCH 00/10] Introduce ARC port of OpenEmbedded
2018-09-17 21:29 [PATCH 00/10] Introduce ARC port of OpenEmbedded Alexey Brodkin
` (10 preceding siblings ...)
2018-09-17 22:04 ` ✗ patchtest: failure for Introduce ARC port of OpenEmbedded Patchwork
@ 2018-09-18 23:28 ` Khem Raj
11 siblings, 0 replies; 15+ messages in thread
From: Khem Raj @ 2018-09-18 23:28 UTC (permalink / raw)
To: Alexey Brodkin; +Cc: linux-snps-arc, openembedded-core
[-- Attachment #1: Type: text/plain, Size: 3724 bytes --]
On Mon, Sep 17, 2018 at 2:29 PM Alexey Brodkin <Alexey.Brodkin@synopsys.com>
wrote:
> DesignWare ARC Processors are a family of 32-bit CPUs from Synopsys.
> This series introduces basic support for ARC architecture in
> OpenEmbedded.
Thanks for the contributions
>
>
> As of today latest upstream GCC and Binutils are perfectly usable
> for building packages for ARC so we just need a couple of fixes.
These fixes look primarily ok you might have to
Address the little tweaks I asked
>
>
> Glibc for ARC is under review and we're working hard to get it
> accepted in the next upstream release. For now we'll use latest
> code-base back-ported on top of 2.28 release via meta-synopsys.
>
> Its fine once it’s upstreamed we can then get the support into core via
normal recipe updates
More platform and architecture specific bits could be found in
> meta-synopsys layer here (please refer to the "master" branch):
> https://github.com/foss-for-synopsys-dwc-arc-processors/meta-synopsys
>
> Alexey Brodkin (8):
> siteinfo: Define data for ARC
> site: Add ARC linux
> kernel-arch.bbclass: Add ARC to kernel arch map
> openssl: Add support for ARC
> icu: Add ARC support
> gcc: Disable libitm for ARC
> binutils: Fix Glibc building for ARC
> gcc: Fix specs generation for ARC
>
> Antoine Tenart (1):
> nspr: Add ARC support
>
> Mylene Josserand (1):
> libgpg-error: Add ARC support
>
> meta/classes/kernel-arch.bbclass | 1 +
> meta/classes/siteinfo.bbclass | 2 +
> .../openssl/openssl10_1.0.2p.bb | 2 +-
> .../openssl/openssl_1.1.1-pre9.bb | 2 +-
> meta/recipes-devtools/binutils/binutils-2.31.inc | 4 +
> ...location-where-GOT-information-is-collect.patch | 198
> +++++++++++++++++++++
> ...bustness.-Return-FALSE-in-case-of-NULL-po.patch | 35 ++++
> ...lobal-symbol-is-not-an-indirect-or-warnin.patch | 43 +++++
> ...tion-was-still-being-generated-when-symbo.patch | 37 ++++
> meta/recipes-devtools/gcc/gcc-8.2.inc | 1 +
> .../gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch | 40 +++++
> meta/recipes-devtools/gcc/gcc-runtime.inc | 1 +
> .../icu/icu/0002-Add-ARC-support.patch | 25 +++
> meta/recipes-support/icu/icu_62.1.bb | 1 +
> .../0001-syscfg-Add-an-arc-architecture.patch | 75 ++++++++
> .../libgpg-error/libgpg-error_1.32.bb | 1 +
> .../nspr/nspr/0004-Add-ARC-support.patch | 86 +++++++++
> meta/recipes-support/nspr/nspr_4.19.bb | 1 +
> meta/site/arc-linux | 11 ++
> 19 files changed, 564 insertions(+), 2 deletions(-)
> create mode 100644
> meta/recipes-devtools/binutils/binutils/0018-Refactored-location-where-GOT-information-is-collect.patch
> create mode 100644
> meta/recipes-devtools/binutils/binutils/0019-Improved-robustness.-Return-FALSE-in-case-of-NULL-po.patch
> create mode 100644
> meta/recipes-devtools/binutils/binutils/0020-Make-sure-global-symbol-is-not-an-indirect-or-warnin.patch
> create mode 100644
> meta/recipes-devtools/binutils/binutils/0021-PLT-information-was-still-being-generated-when-symbo.patch
> create mode 100644
> meta/recipes-devtools/gcc/gcc-8.2/0041-ARC-fix-spec-gen.patch
> create mode 100644 meta/recipes-support/icu/icu/0002-Add-ARC-support.patch
> create mode 100644
> meta/recipes-support/libgpg-error/libgpg-error/0001-syscfg-Add-an-arc-architecture.patch
> create mode 100644
> meta/recipes-support/nspr/nspr/0004-Add-ARC-support.patch
> create mode 100644 meta/site/arc-linux
>
> --
> 1.8.3.1
>
>
[-- Attachment #2: Type: text/html, Size: 5270 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread