about summary refs log tree commit diff
path: root/pkgs/development/compilers/gcc-4.4
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-02-27 00:52:48 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2010-02-27 00:52:48 +0000
commitb1b7266aa3d2e7023ad1b55ee7edc6a93f87ea53 (patch)
tree20ffb7b6e7f7e4a2a999787b54ea1ac69403e141 /pkgs/development/compilers/gcc-4.4
parent72edd547411be0c074e40ab83f7ecb5bf4344923 (diff)
downloadnixlib-b1b7266aa3d2e7023ad1b55ee7edc6a93f87ea53.tar
nixlib-b1b7266aa3d2e7023ad1b55ee7edc6a93f87ea53.tar.gz
nixlib-b1b7266aa3d2e7023ad1b55ee7edc6a93f87ea53.tar.bz2
nixlib-b1b7266aa3d2e7023ad1b55ee7edc6a93f87ea53.tar.lz
nixlib-b1b7266aa3d2e7023ad1b55ee7edc6a93f87ea53.tar.xz
nixlib-b1b7266aa3d2e7023ad1b55ee7edc6a93f87ea53.tar.zst
nixlib-b1b7266aa3d2e7023ad1b55ee7edc6a93f87ea53.zip
After some testing with an ultrasparc cross-compiler:
Updating the cross-build expressions, adding some flexibility.
Updated the linux headers used cross building, as 2.6.28 had bugs on endianness in
sparc64.
There were, as usual some bugs in gcc. Maybe not many make a cross compiler to
ultrasparc.

For the record, I could build an ultrasparc kernel with this base nix:
import /etc/nixos/nixpkgs/default.nix   # The root nixpkgs default.nix
{
    crossSystem = {
        config = "sparc64-unknown-linux";
        bigEndian = true;
        arch = "sparc64";
        float = "soft";
        withTLS = true;
        cpu = "ultrasparc";
    };

    config = pkgs: {
      packageOverrides = pkgs : {
        platform = {
            name = "sparc64";
            kernelHeadersBaseConfig = "sparc64_defconfig";
            kernelBaseConfig = "sparc64_defconfig";
            kernelArch = "sparc";
            kernelAutoModules = false;
            kernelTarget = "zImage";
            uboot = null;
        };
      };
    };
}

Although it did not boot directly in qemu-system-sparc64:
[sparc64] Kernel already loaded
Unhandled Exception 0x0000000000000020
PC = 0x0000000000404000 NPC = 0x0000000000404004

svn path=/nixpkgs/trunk/; revision=20269
Diffstat (limited to 'pkgs/development/compilers/gcc-4.4')
-rw-r--r--pkgs/development/compilers/gcc-4.4/default.nix3
1 files changed, 3 insertions, 0 deletions
diff --git a/pkgs/development/compilers/gcc-4.4/default.nix b/pkgs/development/compilers/gcc-4.4/default.nix
index 3ae45592fd53..358e52124072 100644
--- a/pkgs/development/compilers/gcc-4.4/default.nix
+++ b/pkgs/development/compilers/gcc-4.4/default.nix
@@ -57,8 +57,11 @@ let version = "4.4.3";
 
     javaAwtGtk = langJava && gtk != null;
 
+    withCPU = if cross ? cpu then " --with-cpu=${cross.cpu}" else "";
+
     crossConfigureFlags =
       "--target=${cross.config}" +
+      withCPU +
       (if crossStageStatic then
         " --disable-libssp --disable-nls" +
         " --without-headers" +