package/gcc (arc): backport PR56780 patches
--disable-install-libiberty configure option is broken in gcc 4.8.x, so libiberty.a is always installed in HOST_DIR. This library broke the host-gdb build due to a fpic/fPIC issue. Note: host-binutils-arc-2014.12 install libiberty.a in HOST_DIR but it was overwritten by the gcc one. The host-binutils's libiberty.a also broke the host-gdb build. This should be fixed in a followup patch. Signed-off-by: Romain Naour <romain.naour@openwide.fr> Cc: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
18f998b0c5
commit
0268c3cbf2
244
package/gcc/arc-2014.12/851-PR-other-56780.patch
Normal file
244
package/gcc/arc-2014.12/851-PR-other-56780.patch
Normal file
@ -0,0 +1,244 @@
|
||||
From afe990251bd9b3a063f03da31a3b8d139d033bc3 Mon Sep 17 00:00:00 2001
|
||||
From: ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Sat, 1 Jun 2013 00:20:49 +0000
|
||||
Subject: [PATCH] PR other/56780
|
||||
|
||||
* libiberty/configure.ac: Move test for --enable-install-libiberty
|
||||
outside of the 'with_target_subdir' test so that it actually gets
|
||||
run. Add output messages to show the test result.
|
||||
* libiberty/configure: Regenerate.
|
||||
* libiberty/Makefile.in (install_to_libdir): Place the
|
||||
installation of the libiberty library in the same guard as that
|
||||
used for the headers to prevent it being installed unless
|
||||
requested via --enable-install-libiberty.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199570 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
libiberty: fix --enable-install-libiberty flag [PR 56780]
|
||||
|
||||
Commit 199570 fixed the --disable-install-libiberty behavior, but it also
|
||||
added a bug where the enable path never works because the initial clear
|
||||
of target_header_dir wasn't deleted. So we end up initializing properly
|
||||
at the top only to reset it at the end all the time.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
[Romain
|
||||
squash the two upstream commits
|
||||
Remove the ChangeLog]
|
||||
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
|
||||
---
|
||||
libiberty/Makefile.in | 24 ++++++++++-----------
|
||||
libiberty/configure | 57 +++++++++++++++++++++++++++-----------------------
|
||||
libiberty/configure.ac | 47 ++++++++++++++++++++++-------------------
|
||||
3 files changed, 68 insertions(+), 60 deletions(-)
|
||||
|
||||
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
|
||||
index f6a3ebd..75ff82d 100644
|
||||
--- a/libiberty/Makefile.in
|
||||
+++ b/libiberty/Makefile.in
|
||||
@@ -355,19 +355,19 @@ install-strip: install
|
||||
# since it will be passed the multilib flags.
|
||||
MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
|
||||
install_to_libdir: all
|
||||
- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
|
||||
- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
|
||||
- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n )
|
||||
- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)
|
||||
if test -n "${target_header_dir}"; then \
|
||||
- case "${target_header_dir}" in \
|
||||
- /*) thd=${target_header_dir};; \
|
||||
- *) thd=${includedir}/${target_header_dir};; \
|
||||
- esac; \
|
||||
- ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
- for h in ${INSTALLED_HEADERS}; do \
|
||||
- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
- done; \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
|
||||
+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
|
||||
+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
|
||||
+ case "${target_header_dir}" in \
|
||||
+ /*) thd=${target_header_dir};; \
|
||||
+ *) thd=${includedir}/${target_header_dir};; \
|
||||
+ esac; \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
+ for h in ${INSTALLED_HEADERS}; do \
|
||||
+ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
+ done; \
|
||||
fi
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
|
||||
|
||||
diff --git a/libiberty/configure b/libiberty/configure
|
||||
index 5367027..4feb95a 100755
|
||||
--- a/libiberty/configure
|
||||
+++ b/libiberty/configure
|
||||
@@ -675,8 +675,8 @@ with_cross_host
|
||||
with_newlib
|
||||
enable_maintainer_mode
|
||||
enable_multilib
|
||||
-enable_largefile
|
||||
enable_install_libiberty
|
||||
+enable_largefile
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
host_alias
|
||||
@@ -1303,8 +1303,8 @@ Optional Features:
|
||||
enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer
|
||||
--enable-multilib build many library versions (default)
|
||||
+ --enable-install-libiberty Install headers and library for end users
|
||||
--disable-largefile omit support for large files
|
||||
- --enable-install-libiberty Install headers for end users
|
||||
|
||||
Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
@@ -2784,6 +2784,35 @@ if test $cross_compiling = no && test $multilib = yes \
|
||||
cross_compiling=maybe
|
||||
fi
|
||||
|
||||
+# We may wish to install the target headers somewhere.
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5
|
||||
+$as_echo_n "checking whether to install libiberty headers and static library... " >&6; }
|
||||
+
|
||||
+# Check whether --enable-install-libiberty was given.
|
||||
+if test "${enable_install_libiberty+set}" = set; then :
|
||||
+ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
|
||||
+else
|
||||
+ enable_install_libiberty=no
|
||||
+fi
|
||||
+
|
||||
+# Option parsed, now set things appropriately.
|
||||
+case x"$enable_install_libiberty" in
|
||||
+ xyes|x)
|
||||
+ target_header_dir=libiberty
|
||||
+ ;;
|
||||
+ xno)
|
||||
+ target_header_dir=
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # This could be sanity-checked in various ways...
|
||||
+ target_header_dir="${enable_install_libiberty}"
|
||||
+ ;;
|
||||
+esac
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5
|
||||
+$as_echo "$enable_install_libiberty" >&6; }
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5
|
||||
+$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;}
|
||||
+
|
||||
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
@@ -5476,7 +5505,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
@@ -5759,29 +5787,6 @@ _ACEOF
|
||||
|
||||
esac
|
||||
|
||||
- # We may wish to install the target headers somewhere.
|
||||
- # Check whether --enable-install-libiberty was given.
|
||||
-if test "${enable_install_libiberty+set}" = set; then :
|
||||
- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
|
||||
-else
|
||||
- enable_install_libiberty=no
|
||||
-fi
|
||||
-
|
||||
- # Option parsed, now set things appropriately.
|
||||
- case x"$enable_install_libiberty" in
|
||||
- xyes|x)
|
||||
- target_header_dir=libiberty
|
||||
- ;;
|
||||
- xno)
|
||||
- target_header_dir=
|
||||
- ;;
|
||||
- *)
|
||||
- # This could be sanity-checked in various ways...
|
||||
- target_header_dir="${enable_install_libiberty}"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
else
|
||||
|
||||
# Not a target library, so we set things up to run the test suite.
|
||||
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
|
||||
index c763894..f17e6b6 100644
|
||||
--- a/libiberty/configure.ac
|
||||
+++ b/libiberty/configure.ac
|
||||
@@ -128,6 +128,31 @@ if test $cross_compiling = no && test $multilib = yes \
|
||||
cross_compiling=maybe
|
||||
fi
|
||||
|
||||
+# We may wish to install the target headers somewhere.
|
||||
+AC_MSG_CHECKING([whether to install libiberty headers and static library])
|
||||
+dnl install-libiberty is disabled by default
|
||||
+
|
||||
+AC_ARG_ENABLE(install-libiberty,
|
||||
+[ --enable-install-libiberty Install headers and library for end users],
|
||||
+enable_install_libiberty=$enableval,
|
||||
+enable_install_libiberty=no)dnl
|
||||
+
|
||||
+# Option parsed, now set things appropriately.
|
||||
+case x"$enable_install_libiberty" in
|
||||
+ xyes|x)
|
||||
+ target_header_dir=libiberty
|
||||
+ ;;
|
||||
+ xno)
|
||||
+ target_header_dir=
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # This could be sanity-checked in various ways...
|
||||
+ target_header_dir="${enable_install_libiberty}"
|
||||
+ ;;
|
||||
+esac
|
||||
+AC_MSG_RESULT($enable_install_libiberty)
|
||||
+AC_MSG_NOTICE([target_header_dir = $target_header_dir])
|
||||
+
|
||||
GCC_NO_EXECUTABLES
|
||||
AC_PROG_CC
|
||||
AC_SYS_LARGEFILE
|
||||
@@ -380,7 +405,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
@@ -492,27 +516,6 @@ if test -n "${with_target_subdir}"; then
|
||||
|
||||
esac
|
||||
|
||||
- # We may wish to install the target headers somewhere.
|
||||
- AC_ARG_ENABLE(install-libiberty,
|
||||
- [ --enable-install-libiberty Install headers for end users],
|
||||
- enable_install_libiberty=$enableval,
|
||||
- enable_install_libiberty=no)dnl
|
||||
-
|
||||
- # Option parsed, now set things appropriately.
|
||||
- case x"$enable_install_libiberty" in
|
||||
- xyes|x)
|
||||
- target_header_dir=libiberty
|
||||
- ;;
|
||||
- xno)
|
||||
- target_header_dir=
|
||||
- ;;
|
||||
- *)
|
||||
- # This could be sanity-checked in various ways...
|
||||
- target_header_dir="${enable_install_libiberty}"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
else
|
||||
|
||||
# Not a target library, so we set things up to run the test suite.
|
||||
--
|
||||
1.9.3
|
||||
|
Loading…
Reference in New Issue
Block a user