Tags: patch
Hello,
In Ubuntu is a patch to fix multiarch already. I'm attaching it. Please
consider apply it.
--
Pozdrawiam / Kind regards,
Artur Rona
diff -u ghdl-0.29+gcc4.3.4+dfsg/debian/rules
ghdl-0.29+gcc4.3.4+dfsg/debian/rules
--- ghdl-0.29+gcc4.3.4+dfsg/debian/rules
+++ ghdl-0.29+gcc4.3.4+dfsg/debian/rules
@@ -31,19 +31,19 @@
touch setup-stamp
configure: configure-stamp
-configure-stamp: setup
+configure-stamp: setup-stamp
dh_testdir
(cd gcc/build CC=$(CC) CFLAGS=$(CFLAGS) CPPFLAGS= LDFLAGS=
FFLAGS= CXXFLAGS= ../configure $(GCC_CONFIGURE_OPTS))
touch configure-stamp
build: build-stamp
-build-stamp: configure
+build-stamp: configure-stamp
dh_testdir
CC=$(CC) CFLAGS=$(CFLAGS) CPPFLAGS= LDFLAGS= FFLAGS=
CXXFLAGS= $(MAKE) -C gcc/build
touch build-stamp
install: install-stamp
-install-stamp: build
+install-stamp: build-stamp
dh_testdir
dh_testroot
dh_prep
diff -u ghdl-0.29+gcc4.3.4+dfsg/gcc/gcc/Makefile.in
ghdl-0.29+gcc4.3.4+dfsg/gcc/gcc/Makefile.in
--- ghdl-0.29+gcc4.3.4+dfsg/gcc/gcc/Makefile.in
+++ ghdl-0.29+gcc4.3.4+dfsg/gcc/gcc/Makefile.in
@@ -281,6 +281,8 @@
GMPLIBS = @GMPLIBS@
GMPINC = @GMPINC@
+with_float = @with_float@
+
CPPLIB = ../libcpp/libcpp.a
CPPINC = -I$(srcdir)/../libcpp/include
@@ -1667,10 +1669,11 @@
$(MULTILIB_EXTRA_OPTS) \
$(MULTILIB_EXCLUSIONS) \
$(MULTILIB_OSDIRNAMES) \
+ $(MULTIARCH_DIRNAME) \
@enable_multilib@ \
tmp-mlib.h; \
else \
- $(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' '' no \
+ $(SHELL) $(srcdir)/genmultilib '' '' '' '' '' '' ''
$(MULTIARCH_DIRNAME) no \
tmp-mlib.h; \
fi
$(SHELL) $(srcdir)/../move-if-change tmp-mlib.h multilib.h
only in patch2:
unchanged:
--- ghdl-0.29+gcc4.3.4+dfsg.orig/gcc/gcc/common.opt
+++ ghdl-0.29+gcc4.3.4+dfsg/gcc/gcc/common.opt
@@ -1275,6 +1275,10 @@
Common JoinedOrMissing Negative(gcoff)
Generate debug information in extended XCOFF format
+imultiarch
+Common Joined Separate RejectDriver Var(imultiarch) Init(0)
+-imultiarch dir Set dir to be the multiarch include subdirectory
+
o
Common Joined Separate
-o file Place output into file
only in patch2:
unchanged:
--- ghdl-0.29+gcc4.3.4+dfsg.orig/gcc/gcc/c-incpath.c
+++ ghdl-0.29+gcc4.3.4+dfsg/gcc/gcc/c-incpath.c
@@ -148,8 +148,14 @@
if (!strncmp (p-fname, cpp_GCC_INCLUDE_DIR, len))
{
char *str = concat (iprefix, p-fname + len, NULL);
- if (p-multilib imultilib)
+ if (p-multilib == 1 imultilib)
str = concat (str, dir_separator_str, imultilib, NULL);
+ else if (p-multilib == 2)
+ {
+ if (!imultiarch)
+ continue;
+ str = concat (str, dir_separator_str, imultiarch, NULL);
+ }
add_path (str, SYSTEM, p-cxx_aware, false);
}
}
@@ -193,8 +199,14 @@
else
str = update_path (p-fname, p-component);
- if (p-multilib imultilib)
+ if (p-multilib == 1 imultilib)
str = concat (str, dir_separator_str, imultilib, NULL);
+ else if (p-multilib == 2)
+ {
+ if (!imultiarch)
+ continue;
+ str = concat (str, dir_separator_str, imultiarch, NULL);
+ }
add_path (str, SYSTEM, p-cxx_aware, false);
}
only in patch2:
unchanged:
--- ghdl-0.29+gcc4.3.4+dfsg.orig/gcc/gcc/cppdefault.h
+++ ghdl-0.29+gcc4.3.4+dfsg/gcc/gcc/cppdefault.h
@@ -43,9 +43,11 @@
C++. */
const char add_sysroot; /* FNAME should be prefixed by
cpp_SYSROOT. */
- const char multilib; /* FNAME should have the multilib path
- specified with -imultilib
- appended. */
+ const char multilib; /* FNAME should have appended
+ - the multilib path specified with -imultilib
+when 1 is passed,
+ - the multiarch path specified with
+-imultiarch, when 2 is passed. */
};
extern const struct default_include cpp_include_defaults[];
only in patch2:
unchanged:
--- ghdl-0.29+gcc4.3.4+dfsg.orig/gcc/gcc/genmultilib
+++ ghdl-0.29+gcc4.3.4+dfsg/gcc/gcc/genmultilib
@@ -73,6 +73,8 @@
# the os directory names are used exclusively. Use the mapping when
# there is no one-to-one equivalence between GCC levels and the OS.
+# The optional eight argument is the multiarch name.
+
# The last option should be yes if multilibs are enabled. If it is not
# yes, all GCC multilib dir names will be ..
@@ -121,7 +123,8 @@
extra=$5
exclusions=$6