* [PATCH 0/2] gcc-target 5.1: fix for libcc1
@ 2015-07-06 10:35 Robert Yang
2015-07-06 10:35 ` [PATCH 1/2] gcc: remove EXTRA_OECONF_INTERMEDIATE Robert Yang
2015-07-06 10:35 ` [PATCH 2/2] gcc-target 5.1: fix for libcc1 Robert Yang
0 siblings, 2 replies; 7+ messages in thread
From: Robert Yang @ 2015-07-06 10:35 UTC (permalink / raw)
To: openembedded-core
The following changes since commit dd09fab685de2eaf04aa5ab60f8220b89c1deae9:
tune-core2.inc: set X86ARCH32 to i686 (instead of i586) (2015-07-02 23:08:27 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/gcc
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/gcc
Robert Yang (2):
gcc: remove EXTRA_OECONF_INTERMEDIATE
gcc-target 5.1: fix for libcc1
meta/recipes-devtools/gcc/gcc-4.8.inc | 10 ----
meta/recipes-devtools/gcc/gcc-4.9.inc | 10 ----
meta/recipes-devtools/gcc/gcc-5.1.inc | 11 +----
...ibcc1-fix-libcc1-s-install-path-and-rpath.patch | 51 ++++++++++++++++++++
meta/recipes-devtools/gcc/gcc-configure-common.inc | 1 -
meta/recipes-devtools/gcc/gcc-target.inc | 5 ++
meta/recipes-devtools/gcc/gcc_5.1.bb | 6 +++
7 files changed, 63 insertions(+), 31 deletions(-)
create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch
--
1.7.9.5
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] gcc: remove EXTRA_OECONF_INTERMEDIATE
2015-07-06 10:35 [PATCH 0/2] gcc-target 5.1: fix for libcc1 Robert Yang
@ 2015-07-06 10:35 ` Robert Yang
2015-07-06 10:35 ` [PATCH 2/2] gcc-target 5.1: fix for libcc1 Robert Yang
1 sibling, 0 replies; 7+ messages in thread
From: Robert Yang @ 2015-07-06 10:35 UTC (permalink / raw)
To: openembedded-core
The gcc-intermediate had been gone, so remove EXTRA_OECONF_INTERMEDIATE.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
meta/recipes-devtools/gcc/gcc-4.8.inc | 10 ----------
meta/recipes-devtools/gcc/gcc-4.9.inc | 10 ----------
meta/recipes-devtools/gcc/gcc-5.1.inc | 10 ----------
meta/recipes-devtools/gcc/gcc-configure-common.inc | 1 -
4 files changed, 31 deletions(-)
diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc b/meta/recipes-devtools/gcc/gcc-4.8.inc
index 476aaf9..6a2454d 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.8.inc
@@ -107,16 +107,6 @@ EXTRA_OECONF_INITIAL = "\
--enable-decimal-float=no \
"
-EXTRA_OECONF_INTERMEDIATE = "\
- --disable-libmudflap \
- --disable-libgomp \
- --disable-libquadmath \
- --with-system-zlib \
- --disable-lto \
- --disable-plugin \
- --disable-libssp \
-"
-
EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float "
EXTRA_OECONF_PATHS = "\
diff --git a/meta/recipes-devtools/gcc/gcc-4.9.inc b/meta/recipes-devtools/gcc/gcc-4.9.inc
index 9ed3e09..6f53d1f 100644
--- a/meta/recipes-devtools/gcc/gcc-4.9.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.9.inc
@@ -117,16 +117,6 @@ EXTRA_OECONF_INITIAL = "\
--enable-decimal-float=no \
"
-EXTRA_OECONF_INTERMEDIATE = "\
- --disable-libmudflap \
- --disable-libgomp \
- --disable-libquadmath \
- --with-system-zlib \
- --disable-lto \
- --disable-plugin \
- --disable-libssp \
-"
-
EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float "
EXTRA_OECONF_PATHS = "\
diff --git a/meta/recipes-devtools/gcc/gcc-5.1.inc b/meta/recipes-devtools/gcc/gcc-5.1.inc
index 1d64f9e..63669a9 100644
--- a/meta/recipes-devtools/gcc/gcc-5.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-5.1.inc
@@ -107,16 +107,6 @@ EXTRA_OECONF_INITIAL = "\
--enable-decimal-float=no \
"
-EXTRA_OECONF_INTERMEDIATE = "\
- --disable-libmudflap \
- --disable-libgomp \
- --disable-libquadmath \
- --with-system-zlib \
- --disable-lto \
- --disable-plugin \
- --disable-libssp \
-"
-
EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float "
EXTRA_OECONF_PATHS = "\
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index 6c60cf9..a14be73 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -25,7 +25,6 @@ OPTSPACE = '${@bb.utils.contains("SPECIAL_ARCH_LIST", "${TARGET_ARCH}", "", "--e
EXTRA_OECONF_BASE ?= ""
EXTRA_OECONF_PATHS ?= ""
EXTRA_OECONF_INITIAL ?= ""
-EXTRA_OECONF_INTERMEDIATE ?= ""
GCCMULTILIB ?= "--disable-multilib"
GCCTHREADS ?= "posix"
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] gcc-target 5.1: fix for libcc1
2015-07-06 10:35 [PATCH 0/2] gcc-target 5.1: fix for libcc1 Robert Yang
2015-07-06 10:35 ` [PATCH 1/2] gcc: remove EXTRA_OECONF_INTERMEDIATE Robert Yang
@ 2015-07-06 10:35 ` Robert Yang
2015-07-09 14:54 ` Burton, Ross
1 sibling, 1 reply; 7+ messages in thread
From: Robert Yang @ 2015-07-06 10:35 UTC (permalink / raw)
To: openembedded-core
Fixed:
* gcc 5 introduces a plugin libcc1.so, which is used by gdb, the target
gcc didn't build it in the past because gcc_cv_objdump is null, and
the error was:
gcc-5.1.0/libcc1/configure: line 14531: -T: command not found
This only happens for tar gcc as the code shows:
if test x$build = x$host; then
export_sym_check="objdump${exeext} -T"
elif test x$host = x$target; then
export_sym_check="$gcc_cv_objdump -T"
else
export_sym_check=
fi
* Install libcc1.so and libcc1plugin.so to
$(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) as lto-plugin did.
* Use sed command to fix bad RPATH iussue.
[YOCTO #7956]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
meta/recipes-devtools/gcc/gcc-5.1.inc | 1 +
...ibcc1-fix-libcc1-s-install-path-and-rpath.patch | 51 ++++++++++++++++++++
meta/recipes-devtools/gcc/gcc-target.inc | 5 ++
meta/recipes-devtools/gcc/gcc_5.1.bb | 6 +++
4 files changed, 63 insertions(+)
create mode 100644 meta/recipes-devtools/gcc/gcc-5.1/0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch
diff --git a/meta/recipes-devtools/gcc/gcc-5.1.inc b/meta/recipes-devtools/gcc/gcc-5.1.inc
index 63669a9..945dc90 100644
--- a/meta/recipes-devtools/gcc/gcc-5.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-5.1.inc
@@ -70,6 +70,7 @@ SRC_URI = "\
file://0036-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch \
file://0037-pr65779.patch \
file://0038-fix-g++-sysroot.patch \
+ file://0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
"
#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${SNAP}"
diff --git a/meta/recipes-devtools/gcc/gcc-5.1/0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/meta/recipes-devtools/gcc/gcc-5.1/0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch
new file mode 100644
index 0000000..63d97d9
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-5.1/0039-libcc1-fix-libcc1-s-install-path-and-rpath.patch
@@ -0,0 +1,51 @@
+From acea0df9997a47f8b8224b6ca1618c8c9dfbe6d5 Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Sun, 5 Jul 2015 20:25:18 -0700
+Subject: [PATCH] libcc1: fix libcc1's install path and rpath
+
+* Install libcc1.so and libcc1plugin.so into
+ $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version), as what we
+ had done to lto-plugin.
+* Fix bad RPATH iussue:
+ gcc-5.1.0: package gcc-plugins contains bad RPATH /patht/to/tmp/sysroots/qemux86-64/usr/lib64/../lib64 in file
+ /path/to/gcc/5.1.0-r0/packages-split/gcc-plugins/usr/lib64/gcc/x86_64-poky-linux/5.1.0/plugin/libcc1plugin.so.0.0.0
+ [rpaths]
+
+Upstream-Status: Inappropriate [OE configuration]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ libcc1/Makefile.am | 4 ++--
+ libcc1/Makefile.in | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
+index 7a274b3..db69bea 100644
+--- a/libcc1/Makefile.am
++++ b/libcc1/Makefile.am
+@@ -35,8 +35,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ $(Wc)$(libiberty_normal)))
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+
+ if ENABLE_PLUGIN
+ plugin_LTLIBRARIES = libcc1plugin.la
+diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in
+index 1916134..c8995d2 100644
+--- a/libcc1/Makefile.in
++++ b/libcc1/Makefile.in
+@@ -262,8 +262,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
+ $(Wc)$(libiberty_normal)))
+
+ libiberty_dep = $(patsubst $(Wc)%,%,$(libiberty))
+-plugindir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)/plugin
+-cc1libdir = $(libdir)/$(libsuffix)
++cc1libdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++plugindir = $(cc1libdir)
+ @ENABLE_PLUGIN_TRUE@plugin_LTLIBRARIES = libcc1plugin.la
+ @ENABLE_PLUGIN_TRUE@cc1lib_LTLIBRARIES = libcc1.la
+ BUILT_SOURCES = compiler-name.h
diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc
index 5d31446..c362a0f 100644
--- a/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/meta/recipes-devtools/gcc/gcc-target.inc
@@ -10,6 +10,11 @@ EXTRA_OECONF_PATHS = "\
EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
+# libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is
+# set in subdir gcc, so subdir libcc1 can't use it, export it here to
+# fix the problem.
+export gcc_cv_objdump = "${TARGET_PREFIX}objdump"
+
EXTRA_OECONF_GCC_FLOAT = "${@get_gcc_float_setting(bb, d)}"
PACKAGES = "\
diff --git a/meta/recipes-devtools/gcc/gcc_5.1.bb b/meta/recipes-devtools/gcc/gcc_5.1.bb
index c4827c6..254cd7f 100644
--- a/meta/recipes-devtools/gcc/gcc_5.1.bb
+++ b/meta/recipes-devtools/gcc/gcc_5.1.bb
@@ -5,3 +5,9 @@ require gcc-target.inc
# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7438:(.text.unlikely+0x2fa): relocation truncated to fit: R_ARM_THM_CALL against symbol `fancy_abort(char const*, int, char const*)' defined in .glue_7 section in linker stubs
# | gcc-4.8.1-r0/gcc-4.8.1/gcc/cp/decl.c:7442:(.text.unlikely+0x318): additional relocation overflows omitted from the output
ARM_INSTRUCTION_SET_armv4 = "arm"
+
+do_configure_prepend() {
+ # Easiest way to stop bad RPATHs getting into the library since we have a
+ # broken libtool here
+ sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${S}/libcc1/configure
+}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] gcc-target 5.1: fix for libcc1
2015-07-06 10:35 ` [PATCH 2/2] gcc-target 5.1: fix for libcc1 Robert Yang
@ 2015-07-09 14:54 ` Burton, Ross
2015-07-09 14:59 ` Robert Yang
0 siblings, 1 reply; 7+ messages in thread
From: Burton, Ross @ 2015-07-09 14:54 UTC (permalink / raw)
To: Robert Yang; +Cc: OE-core
[-- Attachment #1: Type: text/plain, Size: 369 bytes --]
On 6 July 2015 at 11:35, Robert Yang <liezhi.yang@windriver.com> wrote:
> * Install libcc1.so and libcc1plugin.so to
> $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) as lto-plugin
> did.
>
Why are plugin libraries going into $libexecdir? libexecdir is for
"binaries that the user doesn't directly execute", not for libraries or
plugins.
Ross
[-- Attachment #2: Type: text/html, Size: 790 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] gcc-target 5.1: fix for libcc1
2015-07-09 14:54 ` Burton, Ross
@ 2015-07-09 14:59 ` Robert Yang
2015-07-09 15:07 ` Burton, Ross
0 siblings, 1 reply; 7+ messages in thread
From: Robert Yang @ 2015-07-09 14:59 UTC (permalink / raw)
To: Burton, Ross; +Cc: OE-core
On 07/09/2015 10:54 PM, Burton, Ross wrote:
>
> On 6 July 2015 at 11:35, Robert Yang <liezhi.yang@windriver.com
> <mailto:liezhi.yang@windriver.com>> wrote:
>
> * Install libcc1.so and libcc1plugin.so to
> $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) as lto-plugin did.
>
>
> Why are plugin libraries going into $libexecdir? libexecdir is for "binaries
> that the user doesn't directly execute", not for libraries or plugins.
Hi Ross,
I put libcc1plugin.so into $libexecdir is because lto-plugin is there,
do you know more about why lto-plugin is in $libexecdir, please ?
// Robert
>
> Ross
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] gcc-target 5.1: fix for libcc1
2015-07-09 14:59 ` Robert Yang
@ 2015-07-09 15:07 ` Burton, Ross
2015-08-15 16:18 ` Khem Raj
0 siblings, 1 reply; 7+ messages in thread
From: Burton, Ross @ 2015-07-09 15:07 UTC (permalink / raw)
To: Robert Yang; +Cc: OE-core
[-- Attachment #1: Type: text/plain, Size: 352 bytes --]
On 9 July 2015 at 15:59, Robert Yang <liezhi.yang@windriver.com> wrote:
> I put libcc1plugin.so into $libexecdir is because lto-plugin is there,
> do you know more about why lto-plugin is in $libexecdir, please ?
>
No, you'd have to look at the git history to see what the reason was. I'm
not convinced there'll be a good reason. :)
Ross
[-- Attachment #2: Type: text/html, Size: 778 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] gcc-target 5.1: fix for libcc1
2015-07-09 15:07 ` Burton, Ross
@ 2015-08-15 16:18 ` Khem Raj
0 siblings, 0 replies; 7+ messages in thread
From: Khem Raj @ 2015-08-15 16:18 UTC (permalink / raw)
To: Burton, Ross; +Cc: OE-core
On Thu, Jul 9, 2015 at 8:07 AM, Burton, Ross <ross.burton@intel.com> wrote:
>
> On 9 July 2015 at 15:59, Robert Yang <liezhi.yang@windriver.com> wrote:
>>
>> I put libcc1plugin.so into $libexecdir is because lto-plugin is there,
>> do you know more about why lto-plugin is in $libexecdir, please ?
>
>
> No, you'd have to look at the git history to see what the reason was. I'm
> not convinced there'll be a good reason. :)
these plugins have external implications thats why they are where they are, see
https://sourceware.org/ml/gdb-patches/2014-12/msg00358.html
>
> Ross
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-08-15 16:18 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-06 10:35 [PATCH 0/2] gcc-target 5.1: fix for libcc1 Robert Yang
2015-07-06 10:35 ` [PATCH 1/2] gcc: remove EXTRA_OECONF_INTERMEDIATE Robert Yang
2015-07-06 10:35 ` [PATCH 2/2] gcc-target 5.1: fix for libcc1 Robert Yang
2015-07-09 14:54 ` Burton, Ross
2015-07-09 14:59 ` Robert Yang
2015-07-09 15:07 ` Burton, Ross
2015-08-15 16:18 ` Khem Raj
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.