1. 13 Jun, 2012 3 commits
  2. 12 Jun, 2012 3 commits
  3. 11 Jun, 2012 2 commits
  4. 08 Jun, 2012 2 commits
    • Andrew Hsieh's avatar
    • David 'Digit' Turner's avatar
      Use -funwind-tables when building target libraries · 5e5e5486
      David 'Digit' Turner authored
      This patch adds the -funwind-tables flag when building our prebuilt
      libraries in order to ensure that the generated code can easily be
      unwound at runtime.
      
      This prevents stack-traces from being incorrectly shortened, for
      example when using the malloc leak checked, the STLport/GABI++
      operator new implementation could not be unwound, and the stack
      trace could not show where the code was really allocated/freed
      in the original source code.
      
      Change-Id: I424754c4d891416b34ba1f67099fbed62252286e
      5e5e5486
  5. 07 Jun, 2012 2 commits
    • Andrew Hsieh's avatar
    • David 'Digit' Turner's avatar
      build-host-gcc.sh: New script to rebuild toolchain. · 6807ab93
      David 'Digit' Turner authored
      This patch adds build-host-gcc.sh, a new script that can rebuild
      our GCC-based toolchain from scratch, without using the AOSP
      toolchain/build.git scripts.
      
      NOTE: The script does *not* rebuild GDB at all (a future patch will
            provide build-host-gdb.sh to do so).
      
      The script is capable of building *several* toolchains at once,
      minimizing what needs to be done to speed up the whole process.
      For example, here's how to rebuild the linux-x86 and windows
      toolchains for both gcc 4.4.3 and gcc 4.4.6 on all of arm,x86 and mips:
      
        build/tools/build-host-gcc.sh --toolchain-src-dir=/path/to/toolchain/src \
          --systems=linux-x86,windows \
          arm-linux-androideabi-4.4.3 \
          arm-linux-androideabi-4.6 \
          x86-4.4.3 \
          x86-4.6 \
          mipsel-linux-android-4.4.3 \
          mipsel-linux-android-4.6
      
      This operations takes 31 minutes on a 16-core 2.4 GHz z600, not bad
      for something that generates 12 different toolchains.
      
      Define NDK_CCACHE=ccache in your environment to speed-up rebuilds.
      On my machine, the above command takes above
      
      + The script will build for the host system by default. This means
        linux-x86_64 on 64-bit Ubuntu 10.10, for example.
      
      This script has been tested to build the following toolchains
      succesfully:
      
        arm-linux-androideabi-4.4.3
        arm-linux-androideabi-4.6
        x86-4.4.3
        x86-4.6
        mipsel-linux-android-4.4.3
        mipsel-linux-android-4.6
      
      For the following host systems:
      
        linux-x86
        linux-x86_64
        windows (see note below)
        windows-x86_64
        darwin-x86
        darwin-x86_64
      
      Regarding windows, the build succeeds with the i586-mingw32msvc-gcc
      cross-toolchain installed on Linux, and with x86_64-w64-mingw32 which
      can be rebuilt from sources with build-mingw64-toolchain.sh
      
      Change-Id: I00f5d16d8db729e7efdf0e138888f761936f3c4d
      6807ab93
  6. 06 Jun, 2012 11 commits
  7. 05 Jun, 2012 2 commits
  8. 31 May, 2012 4 commits
    • Andrew Hsieh's avatar
      Merge "Fixed two issues in make-release.sh" · 9fab8716
      Andrew Hsieh authored
      9fab8716
    • Andrew Hsieh's avatar
    • David 'Digit' Turner's avatar
      Add a test to build and run a trivial static executable. · 39e134c4
      David 'Digit' Turner authored
      This is to check that static executable generation works properly,
      e.g. that our crtbegin_static.o sources aren't broken for some
      reason.
      
      Note that this test fails with the x86-4.4.3 toolchain generated
      with build-host-gcc.sh at the moment (not with the one built with
      build-gcc.sh). The symptom is:
      
         $NDK/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-linux-android-strip --strip-unneeded  ./libs/x86/static_main
         BFD: BFD (GNU Binutils) 2.19 internal error, aborting at /tmp/ndk-digit/src/binutils/binutils-2.19/bfd/elf.c line 4655 in assign_file_positions_for_non_load_sections
      
         BFD: Please report this bug.
         make: *** [libs/x86/static_main] Error 1
         make: *** Deleting file `libs/x86/static_main'
      
      So it looks like a binutils-2.19 crash when 'strip' is called.
      
      Change-Id: I84ed6ba9fceee84d30ad28885bbf6145397e0144
      39e134c4
    • Andrew Hsieh's avatar
      Fixed two issues in make-release.sh · 0a4a75b7
      Andrew Hsieh authored
      Fixed two issues
      1) Unset NDK_TMPDIR after setting RELEASE_DIR to be under
         $NDK_TMPDIR, otherwise scripts called later may reuse
         the same NDK_TMPDIR for their own things and completely
         remove it after done!
      2) A typo "timestamp_set build-mingw-prebuilts"
      
      Also, wrap "run" around scripts it calls
      
      Change-Id: Ia10cb4b2bd6ef291dcebc3a0b9c4a6fec6f98e8a
      0a4a75b7
  9. 30 May, 2012 3 commits
  10. 29 May, 2012 2 commits
  11. 28 May, 2012 1 commit
  12. 25 May, 2012 5 commits
    • Andrew Hsieh's avatar
      Merge "Rewrite standalone toolchain tests" · 558cb45e
      Andrew Hsieh authored
      558cb45e
    • David 'Digit' Turner's avatar
      Rewrite standalone toolchain tests · bf301a8e
      David 'Digit' Turner authored
      This patch rewrites the standalone toolchain tests completely
      (the previous version didn't work properly anyway).
      
      tests/standalone/run.sh can be used to check that a given
      NDK toolchain works properly. It doesn't have to be a
      standalone toolchain as long as you use the --sysroot=<path>
      option.
      
      Usage example:
      
        tests/standalone/run.sh --prefix=toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc
      
      Note that the tests do not assume that a C++ STL is available
      in the toolchain's installation directory. We will probably
      add a few other tests to check these later.
      
      Change-Id: Idac1cf8fda040773de771b29ca5b80587f0b900e
      bf301a8e
    • Andrew Hsieh's avatar
    • David 'Digit' Turner's avatar
      gen-platforms.sh: regenerate C runtime objects from source. · 548792b4
      David 'Digit' Turner authored
      This patch modifies gen-platforms.sh in order to automatically regenerate
      the C runtime files (e.g. crtbegin_static.o) from their assembly sources,
      when available.
      
      For example, this always rebuilds the MIPS runtime objects whose sources
      are located under development.git/ndk/platforms/android-9/arch-mips/src/
      
      NOTE: This only works for assembly files with a .S extension.
      
      The goal is to get rid of the prebuilt binay object files, and make it
      easier to track / improve these files.
      
      Another patch will modify development.git to get rid of all other
      prebuilt object files, and replace them with the corresponding
      assembly.
      
      + Do not copy prebuilt object and library files to a minimal sysroot.
        You can rebuild all our toolchains properly without these
        (tested with both build-gcc.sh and build-host-gcc.sh)
      
      Change-Id: I2cb46c42a76ab4753c801a02ce5585a1657db198
      548792b4
    • Andrew Hsieh's avatar
      2ba3fdcd