diff options
-rw-r--r-- | sys-devel/base-gcc/base-gcc-4.8.4.ebuild | 3 | ||||
-rw-r--r-- | sys-devel/base-gcc/files/base-gcc-4.8.4-no_instrument_function.patch | 15 | ||||
-rw-r--r-- | sys-devel/gcc/files/gcc-4.8.4-no_instrument_function.patch | 15 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-4.8.4.ebuild | 3 |
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 |