summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-devel/base-gcc/base-gcc-4.8.4.ebuild3
-rw-r--r--sys-devel/base-gcc/files/base-gcc-4.8.4-no_instrument_function.patch15
-rw-r--r--sys-devel/gcc/files/gcc-4.8.4-no_instrument_function.patch15
-rw-r--r--sys-devel/gcc/gcc-4.8.4.ebuild3
4 files changed, 36 insertions, 0 deletions
diff --git a/sys-devel/base-gcc/base-gcc-4.8.4.ebuild b/sys-devel/base-gcc/base-gcc-4.8.4.ebuild
index 70944b4b..66d66257 100644
--- a/sys-devel/base-gcc/base-gcc-4.8.4.ebuild
+++ b/sys-devel/base-gcc/base-gcc-4.8.4.ebuild
@@ -83,6 +83,9 @@ src_prepare() {
#Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
[[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
+
+ #virtualbox-guest-additions fix patch
+ epatch "${FILESDIR}/${P}-no_instrument_function.patch"
}
## Just install libgcc stuff
diff --git a/sys-devel/base-gcc/files/base-gcc-4.8.4-no_instrument_function.patch b/sys-devel/base-gcc/files/base-gcc-4.8.4-no_instrument_function.patch
new file mode 100644
index 00000000..c363b961
--- /dev/null
+++ b/sys-devel/base-gcc/files/base-gcc-4.8.4-no_instrument_function.patch
@@ -0,0 +1,15 @@
+--- trunk/gcc/c-family/c-common.c 2014/01/02 22:23:26 206289
++++ trunk/gcc/c-family/c-common.c 2014/01/15 19:37:35 206643
+@@ -7985,12 +7985,6 @@
+ "%qE attribute applies only to functions", name);
+ *no_add_attrs = true;
+ }
+- else if (DECL_INITIAL (decl))
+- {
+- error_at (DECL_SOURCE_LOCATION (decl),
+- "can%'t set %qE attribute after definition", name);
+- *no_add_attrs = true;
+- }
+ else
+ DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT (decl) = 1;
+
diff --git a/sys-devel/gcc/files/gcc-4.8.4-no_instrument_function.patch b/sys-devel/gcc/files/gcc-4.8.4-no_instrument_function.patch
new file mode 100644
index 00000000..c363b961
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-4.8.4-no_instrument_function.patch
@@ -0,0 +1,15 @@
+--- trunk/gcc/c-family/c-common.c 2014/01/02 22:23:26 206289
++++ trunk/gcc/c-family/c-common.c 2014/01/15 19:37:35 206643
+@@ -7985,12 +7985,6 @@
+ "%qE attribute applies only to functions", name);
+ *no_add_attrs = true;
+ }
+- else if (DECL_INITIAL (decl))
+- {
+- error_at (DECL_SOURCE_LOCATION (decl),
+- "can%'t set %qE attribute after definition", name);
+- *no_add_attrs = true;
+- }
+ else
+ DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT (decl) = 1;
+
diff --git a/sys-devel/gcc/gcc-4.8.4.ebuild b/sys-devel/gcc/gcc-4.8.4.ebuild
index f335ac8e..c69fd8aa 100644
--- a/sys-devel/gcc/gcc-4.8.4.ebuild
+++ b/sys-devel/gcc/gcc-4.8.4.ebuild
@@ -85,6 +85,9 @@ src_prepare() {
#Use -r1 for newer piepatchet that use DRIVER_SELF_SPECS for the hardened specs.
[[ ${CHOST} == ${CTARGET} ]] && epatch "${FILESDIR}"/gcc-spec-env-r1.patch
+
+ #virtualbox-guest-addition fix https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49718
+ epatch "${FILESDIR}/${P}-no_instrument_function.patch"
}
## Just install libgcc stuff