From 4ac7216a8d43e4eaabe4ef6d2bcb867ede4ed3ec63fb888ef322a4500219a955 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 9 Feb 2015 10:56:33 +0000 Subject: [PATCH] Accepting request 284831 from home:msmeissn:branches:devel:gcc moved to new location - add a gcc-PIE subpackage, which enables building PIE binaries by default using the defaults.spec file. bsc#912298 OBS-URL: https://build.opensuse.org/request/show/284831 OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc?expand=0&rev=53 --- gcc.changes | 6 ++++++ gcc.spec | 26 +++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/gcc.changes b/gcc.changes index a940a94..d2a833e 100644 --- a/gcc.changes +++ b/gcc.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Feb 4 07:29:43 UTC 2015 - meissner@suse.com + +- add a gcc-PIE subpackage, which enables building PIE binaries + by default using the defaults.spec file. bsc#912298 + ------------------------------------------------------------------- Mon Aug 4 13:29:20 UTC 2014 - rguenther@suse.com diff --git a/gcc.spec b/gcc.spec index abcded4..bf1a1f8 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,7 +1,7 @@ # # spec file for package gcc # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -341,6 +341,18 @@ Requires: gcc-objc = %{version} %description -n gcc-obj-c++ The system GNU Objective C++ Compiler. +%package -n gcc-PIE +Summary: A default configuration to build all binaries in PIE mode +License: GPL-3.0+ +Group: Development/Languages/Other +Requires: gcc + +%description -n gcc-PIE +This package contains a configuration file (spec) that changes the +compilers default setting to build all ELF binaries in the Position +Independend Executable (PIE) variant. This enables better address +space randomization (ASLR). + %if %{build_ada} %package -n gcc-ada @@ -423,6 +435,14 @@ ln -sf gcc-%{gcc_suffix}.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/cc.1.gz mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/bfd-plugins ln -s `gcc-%{gcc_suffix} -print-file-name=liblto_plugin.so.0.0.0` $RPM_BUILD_ROOT%{_prefix}/lib/bfd-plugins/liblto_plugin.so.0.0.0 +dir=`gcc -print-prog-name=cc1` +dir=${dir%/cc1} +mkdir -p $RPM_BUILD_ROOT/$dir +cat > $RPM_BUILD_ROOT/$dir/defaults.spec <