summaryrefslogtreecommitdiff
path: root/sys-devel/gcc
diff options
context:
space:
mode:
authorBlackNoxis <steven.darklight@gmail.com>2015-04-24 11:20:14 +0300
committerBlackNoxis <steven.darklight@gmail.com>2015-04-24 11:20:14 +0300
commit9836a336a4ec6b64c3a237acc94a3d03687cdef1 (patch)
treefc60919dd56463c937a3dd55d2bb28b9bd5c4aef /sys-devel/gcc
parentaac463bb3b981514d4a08978d3b76128bf2c90a1 (diff)
[sys-devel/*gcc] vbox guest adds fixed with patch
Diffstat (limited to 'sys-devel/gcc')
-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
2 files changed, 18 insertions, 0 deletions
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