Commit graph

77 commits

Author SHA1 Message Date
Juan RP
882f23cf98 env/hardening: fix hardening on MIPS.
Thanks to @chneukirchen for finding the correct solution:

gcc sets -mno-shared by default when compiling non-PIC, and because
we are overriding the builtin specs, this internal rule set for gnu/mips
does not trigger:

gcc/config/mips/gnu-user.h:/* Default to -mno-shared for non-PIC.  */
gcc/config/mips/gnu-user.h:  " %{mshared|mno-shared|fpic|fPIC|fpie|fPIE:;:-mno-shared}"

So that we now use a specific specs file just for mips that sets -mshared for PIC.

This fixes building packages with hardening enabled for MIPS.
2016-04-27 15:01:40 +02:00
Juan RP
7e117fb96d env/hardening: reenable hardening for MIPS.
I just booted a full PIE base-system successfully on my CI20 Creator.

For now we set -fPIE again in C{,XX}FLAGS to fix the build in attr/acl/coreutils, etc.
2016-04-27 12:47:56 +02:00
Juan RP
d55d16482d env/hardening: disable PIE generally for MIPS.
PIE is currently broken in MIPS.
2016-04-26 09:41:28 +02:00
Jürgen Buchmüller
8ce51e70cf timestamp-macros: fix creation and add cleanup
As described in #3765
2016-03-07 09:46:34 +01:00
Enno Boland
0c4b812ad3 common/environment: fix error message 2016-03-06 14:10:41 +01:00
Enno Boland
15f26298aa common/environment: empty file before writing.
Emptying the headerfile before writing into it. This prevents
defining/undefining a macro multiple times.

addresses #3765.
2016-03-06 13:07:11 +01:00
Enno Boland
a04687bf74 common: fix glibc
glibc is a wonderful library. Tidy and clean. To keep it that clean
it does such useful things as sorting the CFLAGS alphabeticly.
Unfortunately this breaks command line arguments that contain parameters
such as `-include /foo/bar`. This commit works around this flaw by
removing the space and using -include/foo/bar instead.
2016-03-01 20:52:44 +01:00
Enno Boland
b5e49c48e7 common: replace XBPS_COMMIT_TIMESTAMP by SOURCE_DATE_EPOCH
This way we are compatible to the Debians proposal. See [1].

[1] https://gcc.gnu.org/ml/gcc-patches/2015-06/msg02210.html
2016-03-01 18:27:49 +01:00
Enno Boland
69cb0beb58 environment/configure: move macro definition to a header file and include it.
This prevents escaping issues with command line options.
2016-03-01 18:08:56 +01:00
Enno Boland
995c356e30 Revert "common/environment: add missing backslashes for macro definitions."
This reverts commit c46b43df61.

lynx was complaining about missing " in the CFLAGS. apparently this is an error in the lynx
build system, not in the CFLAGS.
2016-03-01 17:50:06 +01:00
Enno Boland
c46b43df61 common/environment: add missing backslashes for macro definitions. 2016-03-01 17:45:42 +01:00
Enno Boland
3c04642877 environment/build: overwrite __DATE__, __TIME__, and __TIMESTAMP__ macros.
This commit overwrites timestamps that depend on timestamps with the
commit date of a package.
2016-03-01 15:33:09 +01:00
Juan RP
3a40219469 env/hardening: fix inverted nopie setting on mips*-musl. 2015-12-12 08:36:51 +01:00
Juan RP
b53ac251ea env/hardening: handle {i686,mips,mipsel}-musl in a common place. 2015-12-12 08:32:38 +01:00
Christian Neukirchen
5745ea5b82 configure/hardening.sh: disable hardening on mipsel-musl. 2015-11-27 18:29:19 +01:00
Christian Neukirchen
4c4c82cb19 configure/gnu-configure-args.sh: match mipsel-musl. 2015-11-27 18:29:19 +01:00
Christian Neukirchen
e58a7b24e9 gccspecs/hardened-cc1: also pass -fPIE to cpp by default.
Note that -fPIE defines __PIC__ and __PIE__, so passing this on to
pure cpp(1)/gcc -E executions is relevant.

Found the hard way due to ccache breaking on i686 with precompiled
headers which used the non-PIC definitions in cpuid.h since header
precompilation doesn't read cc1_options.
2015-11-19 16:30:06 +01:00
Juan RP
744acd0308 xbps-src: env/hardening: make sure to put pkg overrides at the end. 2015-11-17 17:24:54 +01:00
Juan RP
784f75931d xbps-src: move compiler/linker defaults to env/hardening.sh.
The user can still set his/her defaults via etc/conf, and per
package in the templates.
2015-11-17 17:13:12 +01:00
Juan RP
3fdad91bf9 xbps-src: make 'build_pie' the default; use 'nopie' to disable it.
Discussed with @chneukirchen.
2015-11-17 16:47:19 +01:00
Juan RP
bfcc741398 time: unbreak cross musl; set _GNU_SOURCE and override wait3 test.
Thanks @pullmoll
2015-10-28 17:12:38 +01:00
Juan RP
94cbb90877 env/autoconf_cache: ac_cv_strftime_extensions is supported in glibc and musl. 2015-10-23 14:27:12 +02:00
Juan RP
4bb30370dd xbps-src: set up C{,XX}FLAGS and LDFLAGS correctly for cross compilation.
This way there's no need to set LDFLAGS per-pkg just to fix cross compilation
in multiple packages.
2015-10-17 11:05:21 +02:00
Enno Boland
cc1e475bff libtar: fix cross compile 2015-09-03 00:12:41 +02:00
Christian Neukirchen
e3da69248b common/environment/configure/build-pie.sh: pass -z relro -z now via $LDFLAGS for libtool to pick them up (see #2275). 2015-08-17 16:53:13 +02:00
Christian Neukirchen
56d1da3a3f environment/configure/build-pie.sh: enable hardening in CXXFLAGS too. 2015-08-13 13:50:23 +02:00
Christopher Brannon
58fd640ff2 socat: unbreak musl builds for arm*, i686
musl's termios doesn't have c_ispeed.
2015-06-18 17:49:43 -07:00
Christian Neukirchen
d2600d1411 environment/configure/bootstrap.sh: use -isystem and -rpath-link during bootstrap. 2015-06-05 11:06:31 +02:00
Juan RP
4e27c0b449 environment/configure: append to {C,LD}FLAGS, don't override them. 2015-06-04 16:03:42 +02:00
Juan RP
8bbae79dc0 env/autoconf_cache: updated gnulib override tests for musl from Sabotage. 2015-06-04 08:34:10 +02:00
beefcurtains
4018212525 Merge pull request #1703 from pullmoll/eds
evolution-data-server: revbump, patch + hook to build with musl
2015-06-03 16:47:08 +00:00
Juan RP
53465da53f xbps-src/environment: set --sbindir=/usr/bin in ${configure_args}. 2015-06-03 14:48:30 +02:00
jbu
a68112268b evolution-data-server: make it build with musl
+ Add a common/environment/configure/autoconf_cache/musl-linux entry for iconv
+ Add a patch to define ICONV_10646 in case it is not defined
2015-06-02 10:47:20 +02:00
Juan RP
2fc2bdb0f3 env/autoconf: override ac_cv_sys_file_offset_bits for musl. 2015-05-31 09:40:19 +02:00
Juan RP
0609f4c62b environment/gnu-configure-args: set --mandir again. 2015-05-22 14:14:58 +02:00
Juan RP
1f2fec69a9 environment/gnu-configure-args: do not set --localedir.
Some pkgs error out if --localedir is set unconditionally (ncurses),
so that remove this for now.
2015-05-22 14:12:01 +02:00
Juan RP
d573e532db env/gnu-configure-args: set --localedir and --bindir explicitely for now. 2015-05-22 11:03:29 +02:00
Juan RP
f7bb54b856 environment: override gettext tests for musl on native too. 2015-05-21 12:02:54 +02:00
Juan RP
fefa330484 environment: override gettext tests for musl. 2015-05-21 11:47:46 +02:00
Juan RP
167ad4d345 ruby: fix detection of isnan/isinf macros on musl; from Alpine. 2015-05-09 07:46:19 +02:00
Juan RP
fdc356cb60 xbps-src: environment/configure: apply arm cache overrides to armv5te too. 2015-05-01 08:18:07 +02:00
Juan RP
11a6f8a681 xbps-src: environment: set CFLAGS and LDFLAGS for the bootstrap case.
Fixes building bootstrap packages that need to find libs in masterdir
and not from the host.
2015-04-21 08:32:59 +02:00
Juan RP
313cdf6ee6 xbps-src: force reconfiguration of base-directories in sysroot.
... otherwise some required symlinks in sysroot aren't created, and this
seems to be required when cross compiling for i686.
2015-04-15 12:23:07 +02:00
Juan RP
e898f68084 environment/configure: create lib32 symlink on i686.
otherwise in cross compilation the lib32 symlink is not created, because
base-directories post-install script is skipped.
2015-04-13 09:24:27 +02:00
Christian Neukirchen
1919bb36ca common/environment/configure-args.sh: add aarch64*. 2015-03-30 18:33:43 +02:00
Juan RP
58d6bee509 environment/autoconf_cache: override tests for /dev/{u,}random. 2015-03-29 09:10:10 +02:00
Christian Neukirchen
232dbbd206 environment/configure: move ac_cv_have_decl_sys_siglist=yes from linux to glibc, as musl doesn't have it. 2015-03-22 18:39:19 +01:00
Christian Neukirchen
cd01759127 defaults.conf: move -z now to hardened-ld only. 2015-03-08 19:57:01 +01:00
Christian Neukirchen
ea96fc3cce xbps-src: pass PIE flags via -specs mechanism, avoids breaking static build. 2015-03-07 20:59:50 +01:00
Juan RP
9870868948 xbps-src: added "build_pie" var to build PIE binaries. 2015-03-04 17:00:19 +01:00