| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
|
| |
In order to support stackprotector on musl32, this change import a
couple of patches from alpinelinux:
1. libssp_nonshared.a is built alongside musl's libc
2. the above library is automatically linked when compiling with gcc6
or gcc7
|
|\
| |
| | |
Enable PPC64 (big-endian)
|
| |
| |
| |
| | |
Long-double-128 is a hardware feature independent of endianness
|
|\ \ |
|
| |/ |
|
|\| |
|
| |\
| | |
| | | |
top-level, lib: Remove platform attribute of platforms
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Second attempt of 8929989614589ee3acd070a6409b2b9700c92d65; see that
commit for details.
This reverts commit 0bc275e63423456d6deb650e146120c39c1e0723.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is a stdenv-rebuild, and should not be merged
into master
This reverts commit 8929989614589ee3acd070a6409b2b9700c92d65.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `platform` field is pointless nesting: it's just stuff that happens
to be defined together, and that should be an implementation detail.
This instead makes `linux-kernel` and `gcc` top level fields in platform
configs. They join `rustc` there [all are optional], which was put there
and not in `platform` in anticipation of a change like this.
`linux-kernel.arch` in particular also becomes `linuxArch`, to match the
other `*Arch`es.
The next step after is this to combine the *specific* machines from
`lib.systems.platforms` with `lib.systems.examples`, keeping just the
"multiplatform" ones for defaulting.
|
|\| | |
|
| |/ |
|
|/
|
|
|
|
|
|
|
| |
When cross compiling to the same kernel / arch combination, it is safe
to use strip of libraries. This happens when cross-compiling musl
programs. dontStrip is now set in each gcc compiler instead of in
gcc/builder.sh.
Fixes #75476
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
continuation of #109595
pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.
python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
|
|\ |
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
I am actually a bit skeptical about this, but @matthewbauer makes the
case for this in
https://github.com/NixOS/nixpkgs/pull/107238#discussion_r546454453 and
I'm happy to go with it not being as in the loop on static linking stuff
as he is.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We can use use `stdenv.hostPlatform.isStatic` instead, and move the
logic per package. The least opionated benefit of this is that it makes
it much easier to replace packages with modified ones, as there is no
longer any issue of overlay order.
CC @FRidh @matthewbauer
|
| | |
|
|\ \
| |/
|/| |
bintools-wrapper: skip dynamic linker for static binaries
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
| |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96796
This may have caused the AArch64 build failure of PyTorch in:
https://github.com/NixOS/nixpkgs/pull/101917
|
|
|
|
|
|
|
|
|
| |
This reverts commit c778945806b44d46ec16bc4302e7e7163e6bab97.
I believe this is exactly what brings the staging branch into
the right shape after the last merge from master (through staging-next);
otherwise part of staging changes would be lost
(due to being already reachable from master but reverted).
|
|
|
|
|
|
|
| |
I'm sorry; I didn't notice it contained staging commits.
This reverts commit 17f5305b6c20df795c365368d2d868266519599e, reversing
changes made to a8a018ddc0a8b5c3d4fa94c94b672c37356bc075.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In some cases, such as when building cross compilers, the binaries and
manpages contain the target architecture tuple, such as
`i686-w64-mingw32-g++.1`.
Ensure the symlink created to save space with the duplicated manpage
(`g++.1 -> gcc.1`) properly handles such cases and generates symlinks
such as `i686-w64-mingw32-g++.1 -> i686-w64-mingw32-gcc.1`.
Previously in such cases, a broken `gcc.1` link would be created
instead.
|
| |
| |
| |
| |
| |
| | |
It's supposed to be just bugfixes. I tested building some projects with
gcc10. Also gfortran10 still builds. I don't expect issues.
This causes basically no rebuilds, as we use 9 by default.
|
|\ \
| | |
| | | |
emacs: Make gccemacs build on darwin
|
| | |
| | |
| | |
| | |
| | | |
It's not necessary to use strip -x otherwise, so let's just use it for
the JIT library.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Turns out that libgccjit gets installed as a .so file, which the gcc
builder.sh didn't change: It only touched .dylib files; that means
that anything linking in libgccjit.so would receive an "Image not
found" error at load time.
With this change, we invoke `install_name_tool` on .so files too,
adjusting their dynamic linker ID, so that they too can be found.
|
| | |
| | |
| | |
| | |
| | |
| | | |
The default `strip` invocation tries to strip global symbols from the
library, and refuses because those are indirect symbol table
references.
|
| | |
| | |
| | |
| | | |
same as 459c60dda2406d2207d2afd90f210ffc87efde54 but for gcc10
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds a warning to the top of each “boot” package that reads:
Note: this package is used for bootstrapping fetchurl, and thus cannot
use fetchpatch! All mutable patches (generated by GitHub or cgit) that
are needed here should be included directly in Nixpkgs as files.
This makes it clear to maintainer that they may need to treat this
package a little differently than others. Importantly, we can’t use
fetchpatch here due to using <nix/fetchurl.nix>. To avoid having stale
hashes, we need to include patches that are subject to changing
overtime (for instance, gitweb’s patches contain a version number at
the bottom).
|
| |\ \
| | | |
| | | | |
stdenv: make -nostdinc work as intended
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Right now we add glibc to search path also -nostdinc was provided,
which breaks projects providing their own gcc.
|
| |\ \ \
| | | | |
| | | | | |
Fix GCC compilation on MacOS 10.15
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
MacOS 10.15 now includes "aligned_alloc". Disagreement between the
headers and the binaries about whether aligned_alloc exists leads to
a compilation failure (see #73319 and the detailed comment in this
commit).
|
| | |/ /
| |/| | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The same `libsanitizer` problem as in llvm<10 and newer GCCs.
https://hydra.nixos.org/build/122902814
https://hydra.nixos.org/build/122903349
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Applied a patch from the `gcc9` branch for `gcc7` to fix `libsanitizer`
for glibc-2.31.
|
| | |/
| |/| |
|
| |\ \ |
|
| | | | |
|
| | | | |
|