John Ericson
c4ba2e3ef6
cc-wrapper: Remove stdenv.is*
for targetPlatform.is*
...
Modify bootstrapping stdenvs to make sure `targetPlatform` also passed.
2017-06-22 17:52:27 -04:00
Jörg Thalheim
e2197465c1
cc-wrapper: externalize default_cxx_stdlib_compile
...
This value is require to get c++ std include path for libclang based tools (vim plugins in my case).
I currently extract it this with this rather command:
```
eval echo $(nix-instantiate --eval --expr 'with (import <nixpkgs>) {}; clang.default_cxx_stdlib_compile')
```
it did not trigger any recompilation on my system.
2017-06-08 19:50:40 +01:00
Orivej Desh
e9adf383e6
Fix parsing @args.rsp compiler arguments
2017-04-25 13:29:43 +00:00
Tuomas Tynkkynen
7c8a060c09
stdenv: Bringup aarch64 architecture support
2017-01-25 00:01:51 +02:00
John Ericson
09401d44eb
cc-wrapper: Remove unneeded crossAttrs
2017-01-24 11:37:56 -05:00
David McFarland
175461e09b
cc-wrapper: don't expand $ in response files
...
This makes the response file handling more consistent with GCC.
For example, a reponse file may contain:
"-Wl,$ORIGIN"
GCC will treat this as a double quoted string and not expand the
variable reference. Previously, cc-wrapper would expand the variable
in the same was as if the string was provided on the command line.
2016-11-19 20:21:32 -04:00
Shea Levy
225602d9f2
Merge branch 'response-files' of git://github.com/corngood/nixpkgs into staging
2016-10-31 10:07:30 -04:00
David McFarland
1ad1edbb32
cc-wrapper: expand response files
...
Fixes #11762
2016-10-31 01:12:07 -03:00
David McFarland
2b6659e13e
cc-wrapper: fix detection of unsupported linker flags on cygwin
2016-10-18 17:52:20 -03:00
Shea Levy
eca0f17ad2
nix-buffer support improvements.
...
Use inherit-local, add per-package elisp hooks.
2016-10-07 10:31:37 -04:00
Markus Hauck
aafbd40577
Replace hard coded /bin/bash occurrences
2016-10-04 20:15:37 +02:00
Franz Pletz
c0fa26ef3b
Merge remote-tracking branch 'origin/master' into hardened-stdenv
2016-08-24 11:01:53 +02:00
Franz Pletz
8576aea57c
cc-wrapper: fix detection of unsupported linker flags
2016-08-24 10:59:52 +02:00
Franz Pletz
3c06e5f6f7
cc-wrapper: check ld hardening capabilities in stdenv
2016-08-23 18:13:31 +02:00
Robin Gloster
07604ad631
add-hardening.sh: fix quotation
2016-08-23 15:27:51 +00:00
Robin Gloster
335d0097cf
cc-wrapper: add-{flags,hardening} -> add-{flags,hardening}.sh
2016-08-23 15:27:51 +00:00
Nikolay Amiantov
24f695ffaa
cc-wrapper: handle -nostdinc{++,}
2016-08-17 13:19:46 +03:00
Robin Gloster
5185bc1773
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-07-15 14:41:01 +00:00
Tuomas Tynkkynen
a06a405d0b
cross GCC: Fix some paths to libc headers (after multiple outputs)
...
It's not completely clear to me why the path to libc headers is set
differently when cross building...
2016-06-11 04:15:17 +03:00
Franz Pletz
f8d481754c
Merge remote-tracking branch 'origin/master' into hardened-stdenv
2016-05-18 17:10:02 +02:00
Vladimír Čunát
2cbb7bf9d1
cc-wrapper: add -B flag with cc.lib
...
This fixes `gcc --print-file-name=libstdc++.so`
and thus it should fix #14967 .
2016-05-04 14:23:54 +02:00
Nikolay Amiantov
5ff40ddedf
add get* helper functions and mass-replace manual outputs search with them
2016-04-25 13:24:39 +03:00
Robin Gloster
d020caa5b2
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-04-18 13:49:22 +00:00
Robin Gloster
3e68106afd
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-04-07 21:52:26 +00:00
Vladimír Čunát
d1df28f8e5
Merge 'staging' into closure-size
...
This is mainly to get the update of bootstrap tools.
Otherwise there were mysterious segfaults:
https://github.com/NixOS/nixpkgs/pull/7701#issuecomment-203389817
2016-04-07 14:40:51 +02:00
Tomasz Kontusz
6c9ce23c00
cc-wrapper: Fix a typo in param parsing ( close #14401 )
2016-04-02 20:51:48 +02:00
Vladimír Čunát
ab15a62c68
Merge branch 'master' into closure-size
...
Beware that stdenv doesn't build. It seems something more will be needed
than just resolution of merge conflicts.
2016-04-01 10:06:01 +02:00
Robin Gloster
f60c9df0ba
Merge remote-tracking branch 'upstream/master' into hardened-stdenv
2016-03-28 15:16:29 +00:00
Nikolay Amiantov
119c287c71
cc-wrapper: use Bash arrays properly
2016-03-24 21:13:11 +03:00
Nikolay Amiantov
0c6db0ca48
cc-wrapper: add option to skip flags for native optimizations
2016-03-24 20:16:17 +03:00
Nikolay Amiantov
87607af7a1
cc-wrapper: add C++-specific paths if -x c++
is passed
2016-03-14 06:58:18 +03:00
Robin Gloster
a9b942c061
cc-wrapper: treat hardeningDisable as string
...
This fixes passing the env variable to the ld-wrapper through the gcc
call. Wtf?!
2016-03-14 00:26:52 +00:00
Tristan Helmich
1a5acdb695
cc-wrapper: Add additional NIX_DEBUG statements
2016-03-11 14:02:07 +01:00
Tristan Helmich
7e2e0dfe7a
cc-wrapper: Use stderr for NIX_DEBUG output
...
Otherwise configure scripts might break when looking for the path to ld
2016-03-10 15:47:55 +01:00
Franz Pletz
514a478e61
cc-wrapper: Fix if syntax
2016-03-09 10:08:07 +01:00
Robin Gloster
9a5b070b45
hardening: debug with NIX_DEBUG
2016-03-08 20:51:35 +00:00
Vladimír Čunát
09af15654f
Merge master into closure-size
...
The kde-5 stuff still didn't merge well.
I hand-fixed what I saw, but there may be more problems.
2016-03-08 09:58:19 +01:00
Franz Pletz
baee91ec60
cc-wrapper: Check if ld supports -z, fixes darwin
2016-03-07 21:40:20 +01:00
Franz Pletz
b2b499e6c4
cc-wrapper: Increase number of functions for stackprotector
2016-03-07 01:30:40 +01:00
Franz Pletz
ab1092875a
cc-wrapper: Disable pie for linking static libs
2016-03-07 01:30:39 +01:00
Franz Pletz
63f60b6a13
cc-wrapper: Disable pie when linking shared libraries
2016-03-07 01:30:39 +01:00
Franz Pletz
05a02c53a0
cc-wrapper: -pie is a ldflag
2016-03-06 00:14:55 +01:00
Franz Pletz
aff1f4ab94
Use general hardening flag toggle lists
...
The following parameters are now available:
* hardeningDisable
To disable specific hardening flags
* hardeningEnable
To enable specific hardening flags
Only the cc-wrapper supports this right now, but these may be reused by
other wrappers, builders or setup hooks.
cc-wrapper supports the following flags:
* fortify
* stackprotector
* pie (disabled by default)
* pic
* strictoverflow
* format
* relro
* bindnow
2016-03-05 18:55:26 +01:00
Eelco Dolstra
d5bb6a1f9c
glibc: Enable separate debug symbols
...
The importance of glibc makes it worthwhile to provide debug
symbols. However, this revealed an issue with separateDebugInfo: it
was indiscriminately adding --build-id to all ld invocations, while in
fact it should only do that for final links. Glibc also uses non-final
("relocatable") links, leading to subsequent failure to apply a build
ID ("Cannot create .note.gnu.build-id section, --build-id
ignored"). So now ld-wrapper.sh only passes --build-id for final
links.
2016-02-28 02:57:37 +01:00
Eelco Dolstra
2040a9ac57
stdenv-linux: Ensure binutils comes before bootstrapTools in $PATH
...
Otherwise, when building glibc and other packages, the "strip" from
bootstrapTools is used, which doesn't recognise some tags produced by
the newer "ld" from binutils.
2016-02-28 01:13:15 +01:00
Vladimír Čunát
96cbdc70f2
cc-wrapper: fix #10574 : old gcc -> cc fallout
...
The part with gcc-wrapper-old changes is rather unimportant,
as it's almost unused but I still tested that the sole user `gnat` builds.
2016-02-05 14:05:14 +01:00
Vladimír Čunát
f89a136fd5
cc-wrapper: fixup branch interactions
...
c0599fdd61
and changes on closure-size didn't go well together.
2016-02-03 16:57:41 +01:00
Vladimír Čunát
ae74c356d9
Merge recent 'staging' into closure-size
...
Let's get rid of those merge conflicts.
2016-02-03 16:57:19 +01:00
Vladimír Čunát
a33fcc8731
cc-wrapper: attempt to fix on darwin
...
This fixes evaluation at least. I'm unable to test this myself and noone steps up;
https://github.com/NixOS/nixpkgs/pull/7701#issuecomment-174448705
however, Hydra's macs are idling so let's employ them for that.
2016-01-28 06:59:36 +01:00
Vladimír Čunát
8f48a9756b
cc-wrapper: quote when saving $PATH
2016-01-25 09:54:10 +01:00