Commit b2844f89 authored by pennae's avatar pennae Committed by Emily Trau
Browse files

avrlibc: hook up libdir for cc-wrapper

-B must be set to the root directory of avrlibc, otherwise gcc cannot
locate crt objects for some attiny devices. -L trains as set by
bintools-wrapper are not necessary with -B set correctly because gcc
takes care of that, and likewise we can drop the -B train from
cc-wrapper because the one spec is enough.
parent 574d1e47
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -301,12 +301,6 @@ stdenv.mkDerivation {
      hardening_unsupported_flags+=" relro bindnow"
    ''

    + optionalString (libc != null && targetPlatform.isAvr) ''
      for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do
        echo "-L${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-cflags
      done
    ''

    + optionalString stdenv.targetPlatform.isDarwin ''
      echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/libc-ldflags
    ''
+0 −6
Original line number Diff line number Diff line
@@ -649,12 +649,6 @@ stdenv.mkDerivation {
      hardening_unsupported_flags+=" stackprotector"
    ''

    + optionalString (libc != null && targetPlatform.isAvr) ''
      for isa in avr5 avr3 avr4 avr6 avr25 avr31 avr35 avr51 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 tiny-stack; do
        echo "-B${getLib libc}/avr/lib/$isa" >> $out/nix-support/libc-crt1-cflags
      done
    ''

    + optionalString stdenv.targetPlatform.isDarwin ''
        echo "-arch ${targetPlatform.darwinArch}" >> $out/nix-support/cc-cflags
    ''
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {

  passthru = {
    incdir = "/avr/include";
    libdir = "/avr/lib";
  };

  meta = with lib; {