summary refs log tree commit diff
path: root/pkgs/development/compilers/gcc
Commit message (Collapse)AuthorAge
* gcc: support avrMatthew Bauer2018-10-29
| | | | | | | | | | | | | | | | | | - respect libc’s incdir and libdir - make non-unix systems single threaded - set LIMITS_H_TEST to false for avr - misc updates to support new libc’s - use multilib with avr For threads we want to use: - posix on unix systems - win32 on windows - single on everything else For avr: - add library directories for avrlibc - to disable relro and bind - avr5 should have precedence over avr3 - otherwise gcc uses the wrong one
* Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-09-25
|\
| * gcc{5,6,7,8}: share libgomp patch, propagate musl config flagsWill Dietz2018-09-25
| |
| * gcc: fix libgomp to not use initial-execWill Dietz2018-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only apply w/musl since while it's wrong everywhere it apparently hasn't broken things entirely w/glibc so keep things as they were. Patch regenerated from original so that it applies which isn't saying much since it's simple :). Source: https://patchwork.ozlabs.org/patch/154298/ IRC chat on #musl with Rich and others endorses this, at least at the conceptual level of no shared library should be using initial-exec TLS. Fixes various uses of libgomp that previously crashed (before 1.1.20) or encounter errors (post-1.1.20), such as pythonPackages.cython .
| * gcc7: more options for muslWill Dietz2018-09-25
| |
* | gcc7: cleanup with a mass rebuildJan Malakhovski2018-09-23
| |
* | gcc-*: Clean up crossStageStatic logicJohn Ericson2018-09-23
|/ | | | | 54282b9610e80b1ed93136319e24cb79c5bbcc33 tread carefuly to avoid a mass rebuild. This embraces the mass rebuild to clean things up.
* gcc: Clarify Disabling libmpx in cross stage staticJohn Ericson2018-09-18
| | | | | | This isn't a MUSL thing, but just needed for cross compilation to x86. No one had tried this when all cross compilation was to linux + glibc, hence why no one noticed this until recently.
* treewide: Remove usage of remaining redundant platform compatability stuffJohn Ericson2018-08-30
| | | | | Want to get this out of here for 18.09, so it can be deprecated thereafter.
* hurd: cleanup unmaintained targetJörg Thalheim2018-08-28
| | | | | | This has been not touched in 6 years. Let's remove it to cause less problems when adding new cross-compiling infrastructure. This also simplify gcc significantly.
* [RFC] ppc64le enablement (#45340)CrystalGamma2018-08-21
| | | | | | | | | | | | | | | | * ppc64le enablement * gcc, glibc: properly handle __float128 * lib/systems, stdenv: syntax cleanup * gcc7: remove ugly hack * gcc: add/update __float128 flags * stdenv: add another pair of quotes for consistency * gcc: move __float128 flag for ppc64le-glibc into common/platform-flags.nix
* Merge pull request #43982 from viric/viric_cleanviric2018-07-29
|\ | | | | Take me (viric) out of most maintenance
| * Take me (viric) out of most maintenanceLluís Batlle i Rossell2018-07-22
| | | | | | | | | | | | | | Since years I'm not maintaining anything of the list below other than some updates when I needed them for some reason. Other people is doing that maintenance on my behalf so I better take me out but for very few packages. Finally!
* | gcc8: 8.1 -> 8.2Will Dietz2018-07-27
|/ | | | https://gcc.gnu.org/gcc-8/changes.html
* pkgs/*: remove unreferenced function argumentsvolth2018-07-21
|
* [bot]: remove unreferenced codevolth2018-07-20
|
* gfortran: fix darwin build on hydraDaiderd Jordan2018-06-24
| | | | | All the warnings about unused -isystem arguments causes the build log to exceed the hydra limit.
* Merge branch 'master' into stagingVladimír Čunát2018-05-20
|\
| * gcc5: delete unused patchMatthew Justin Bauer2018-05-19
| |
* | Merge branch 'master' into stagingRobert Schütz2018-05-19
|\|
| * gcc5: remove patchMatthew Justin Bauer2018-05-18
| | | | | | | | | | | | | | | | | | The patch fails to apply & may not be necessary any more. Trying to remove it for now just to see. Hydra log: https://hydra.nixos.org/build/72726891/nixlog/1 Also see #33722 /cc @copumpkin
* | Merge remote-tracking branch 'upstream/master' into stagingTuomas Tynkkynen2018-05-16
|\| | | | | | | | | | | Conflicts: pkgs/tools/networking/telnet/default.nix pkgs/top-level/aliases.nix
| * gcc7: Enable arm erratum 843419 on aarch64Bastian Köcher2018-05-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fix is required for the raspherry pi 3 with glibc 2.27, otherwise the kernel panics in initrd with: ``` <<< NixOS Stage 1 >>> loading module dm_mod... running udev... kbd_mode: KDSKBMODE: Inappropriate ioctl for device Gstarting device mapper and LVM... [ 1.969164] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 1.969164] [ 1.978476] CPU: 0 PID: 1 Comm: init Not tainted 4.16.8 #1-NixOS [ 1.984580] Hardware name: Raspberry Pi 3 Model B (DT) [ 1.989801] Call trace: [ 1.992301] dump_backtrace+0x0/0x1c8 [ 1.996025] show_stack+0x24/0x30 [ 1.999396] dump_stack+0x9c/0xc0 [ 2.002766] panic+0x124/0x294 [ 2.005872] complete_and_exit+0x0/0x30 [ 2.009771] do_group_exit+0x40/0xa8 [ 2.013406] get_signal+0x280/0x5b0 [ 2.016954] do_signal+0x88/0x240 [ 2.020325] do_notify_resume+0xd8/0x130 [ 2.024311] work_pending+0x8/0x10 [ 2.027774] SMP: stopping secondary CPUs [ 2.031763] Kernel Offset: disabled [ 2.035308] CPU features: 0x0802004 [ 2.038850] Memory Limit: none [ 2.041963] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 2.041963] [ 2.865264] random: crng init done ``` Suse has done the same to circumvent crashes with hostname resolving in glibc 2.27 on aarch64.
* | Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-05-14
|\|
| * Merge remote-tracking branch 'upstream/master' into gcc-hurd-conditionJohn Ericson2018-05-14
| |\
| * | gcc: Simplify this old Hurd conditionJohn Ericson2018-05-14
| | | | | | | | | | | | Steps towards getting rid of crossConfig.
* | | Merge pull request #40040 from obsidiansystems/gnu-config-armJohn Ericson2018-05-14
|\ \ \ | | | | | | | | gnu-config: Update, allowing hacks to be removed
| * \ \ Merge remote-tracking branch 'upstream/master' into gnu-config-armJohn Ericson2018-05-14
| |\ \ \ | | | |/ | | |/|
| * | | Revert "Revert "gcc, binutils: Get rid of 32-bit ARM configure flag exception""John Ericson2018-05-14
| | |/ | |/| | | | | | | | | | | | | | | | | | | And there's more reverts too. The previous commmit d838afbc9376bdadb8c690eb00b425f3eeccdf2d to gnu-config finally solves it! This reverts commit 3ed545ab31146e607c57649936c75869d6aa9ba2.
* | | Merge commit '92b7a814f26ee1d37e989431c18518c67285a332' into stagingJohn Ericson2018-05-13
|\ \ \ | | |/ | |/|
| * | Merge branch 'fix-gcc-with-float'John Ericson2018-05-12
| |\|
| | * lib: Fix float handling for Aarch32John Ericson2018-05-12
| | | | | | | | | | | | Forgot to adjust default so abi with explicit float attr would be used.
* | | Merge remote-tracking branch 'upstream/master' into stagingJohn Ericson2018-05-11
|\| |
| * | Merge remote-tracking branch 'upstream/master' into lib-floatJohn Ericson2018-05-10
| |\ \ | | |/ | |/|
| * | lib: Clean up float/fpu optionsJohn Ericson2018-05-10
| | | | | | | | | | | | | | | | | | ARM ABIs now have a float field. This is used as a fallback to lessen our use of `platform.gcc.float`. I didn't know what the MIPs convention is so I kept using `platform.gcc.float` in that case.
| * | gcc: Factor out "platform flags"John Ericson2018-05-10
| | |
| * | treewide: isArm -> isAarch32John Ericson2018-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following legacy packing conventions, `isArm` was defined just for 32-bit ARM instruction set. This is confusing to non packagers though, because Aarch64 is an ARM instruction set. The official ARM overview for ARMv8[1] is surprisingly not confusing, given the overall state of affairs for ARM naming conventions, and offers us a solution. It divides the nomenclature into three levels: ``` ISA: ARMv8 {-A, -R, -M} / \ Mode: Aarch32 Aarch64 | / \ Encoding: A64 A32 T32 ``` At the top is the overall v8 instruction set archicture. Second are the two modes, defined by bitwidth but differing in other semantics too, and buttom are the encodings, (hopefully?) isomorphic if they encode the same mode. The 32 bit encodings are mostly backwards compatible with previous non-Thumb and Thumb encodings, and if so we can pun the mode names to instead mean "sets of compatable or isomorphic encodings", and then voilà we have nice names for 32-bit and 64-bit arm instruction sets which do not use the word ARM so as to not confused either laymen or experienced ARM packages. [1]: https://developer.arm.com/products/architecture/a-profile (cherry picked from commit ba52ae50488de85a9cf60a3a04f1c9ca7122ec74)
* | | Merge pull request #40294 from obsidiansystems/no-crossAttrsJohn Ericson2018-05-10
|\ \ \ | | | | | | | | misc packages: Fewer crossAttrs
| * | | gcc: Get rid of crossAttrsJohn Ericson2018-05-10
| | |/ | |/| | | | | | | Only a little bit was left
* | | Merge remote-tracking branch 'upstream/master' into stagingMatthew Bauer2018-05-08
|\| |
| * | Merge pull request #39914 from nlewo/pr-retpolineJörg Thalheim2018-05-04
| |\ \ | | | | | | | | gcc49: backport retpoline support
| | * | gcc49: remove darwin supportAntoine Eiche2018-05-03
| | | |
| | * | gcc49: backport retpoline supportAntoine Eiche2018-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To mitigate Spectre Variant 2, GCC needs to have retpoline support (-mindirect-branch and -mfunction-return arguments on amd64 and i386). Patches were pulled from H.J. Lu's backport branch to 4.9 (hjl/indirect/gcc-4_9-branch), available at https://github.com/hjl-tools/gcc/tree/hjl/indirect/gcc-4_9-branch/master. Upstream GCC does not apply patches to anything older than the gcc-6-branch. H.J. Lu is the author of the upstream retpoline commits as well. Several Linux distributions already backported these patches to GCC 4 branches and some old kernels (3.13 for instance) have been recompiled with these GCC patches. These kernels only allow to load kernel modules that are compiled with the retpoline support. References: - Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1749261 - Ubuntu package: https://launchpad.net/ubuntu/+source/gcc-4.8/4.8.4-2ubuntu1~14.04.4 Fixes #38394
| * | | gcc8: Removed X11 components, since they were only used by langJavaPatrick Hilhorst2018-05-03
| | | |
| * | | gcc8: Removed java as a target languagePatrick Hilhorst2018-05-03
| | | |
| * | | gcc8: made the remove-selftests patch more robust, removed old hashPatrick Hilhorst2018-05-02
| | | |
| * | | gcc8: removed commented gcc7 hashPatrick Hilhorst2018-05-02
| | | |
| * | | gcc8: removed merged patchesPatrick Hilhorst2018-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Log: ``` patching sources applying patch /nix/store/6m27y27zvzsjn1ir4y8mm9nc9xnh2sgx-riscv-no-relax.patch patching file gcc/config/riscv/riscv.c Reversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n] Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file gcc/config/riscv/riscv.c.rej patching file gcc/config/riscv/riscv.opt Reversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n] Skipping patch. 1 out of 1 hunk ignored -- saving rejects to file gcc/config/riscv/riscv.opt.rej patching file gcc/doc/invoke.texi Reversed (or previously applied) patch detected! Assume -R? [n] Apply anyway? [n] Skipping patch. ```
| * | | gcc8: added myself as maintainerPatrick Hilhorst2018-05-02
| | | |
| * | | gcc8: init at 8.1.0Patrick Hilhorst2018-05-02
| |/ /