Giter VIP home page Giter VIP logo

musl-cross-make's Introduction

musl-cross-make

This is the second generation of musl-cross-make, a fast, simple, but advanced makefile-based approach for producing musl-targeting cross compilers. Features include:

  • Single-stage GCC build, used to build both musl libc and its own shared target libs depending on libc.

  • No hard-coded absolute paths; resulting cross compilers can be copied/moved anywhere.

  • Ability to build multiple cross compilers for different targets using a single set of patched source trees.

  • Nothing is installed until running make install, and the installation location can be chosen at install time.

  • Automatic download of source packages, including GCC prerequisites (GMP, MPC, MPFR), using https and checking hashes.

  • Automatic patching with canonical musl support patches and patches which provide bug fixes and features musl depends on for some arch targets.

Usage

The build system can be configured by providing a config.mak file in the top-level directory. The only mandatory variable is TARGET, which should contain a gcc target tuple (such as i486-linux-musl), but many more options are available. See the provided config.mak.dist and presets/* for examples.

To compile, run make. To install to $(OUTPUT), run make install.

The default value for $(OUTPUT) is output; after installing here you can move the cross compiler toolchain to another location as desired.

Supported TARGETs

The following is a non-exhaustive list of $(TARGET) tuples that are believed to work:

  • aarch64[_be]-linux-musl
  • arm[eb]-linux-musleabi[hf]
  • i*86-linux-musl
  • microblaze[el]-linux-musl
  • mips-linux-musl
  • mips[el]-linux-musl[sf]
  • mips64[el]-linux-musl[n32][sf]
  • powerpc-linux-musl[sf]
  • powerpc64[le]-linux-musl
  • riscv64-linux-musl
  • s390x-linux-musl
  • sh*[eb]-linux-musl[fdpic][sf]
  • x86_64-linux-musl[x32]

How it works

The current musl-cross-make is factored into two layers:

  1. The top-level Makefile which is responsible for downloading, verifying, extracting, and patching sources, and for setting up a build directory, and

  2. Litecross, the cross compiler build system, which is itself a Makefile symlinked into the build directory.

Most of the real magic takes place in litecross. It begins by setting up symlinks to all the source trees provided to it by the caller, then builds a combined src_toolchain directory of symlinks that combines the contents of the top-level gcc and binutils source trees and symlinks to gmp, mpc, and mpfr. One configured invocation them configures all the GNU toolchain components together in a manner that does not require any of them to be installed in order for the others to use them.

Rather than building the whole toolchain tree at once, though, litecross starts by building just the gcc directory and its prerequisites, to get an xgcc that can be used to configure musl. It then configures musl, installs musl's headers to a staging "build sysroot", and builds libgcc.a using those headers. At this point it has all the prerequisites to build musl libc.a and libc.so, which the rest of the gcc target-libs depend on; once they are built, the full toolchain make all can proceed.

Litecross does not actually depend on the musl-cross-make top-level build system; it can be used with any pre-extracted, properly patched set of source trees.

Project scope and goals

The primary goals of this project are to:

  • Provide canonical musl support patches for GCC and binutils.

  • Serve as a canonical example of how GCC should be built to target musl.

  • Streamline the production of musl-targeting cross compilers so that musl users can easily produce musl-linked applications or bootstrap new systems using musl.

  • Assist musl and toolchain developers in development and testing.

While the patches applied to GCC and binutils are all intended not to break non-musl configurations, musl-cross-make itself is specific to musl. Changes to add support for exotic target variants outside of what upstream musl supports are probably out-of-scope unless they are non-invasive. Changes to fix issues building musl-cross-make to run on non-Linux systems are well within scope as long as they are clean.

Most importantly, this is a side project to benefit musl and its users. It's not intended to be something high-maintenance or to divert development effort away from musl itself.

Patches included

In addition to canonical musl support patches for GCC, musl-cross-make's patch set provides:

  • Static-linked PIE support
  • Addition of --enable-default-pie
  • Fixes for SH-specific bugs and bitrot in GCC
  • Support for J2 Core CPU target in GCC & binutils
  • SH/FDPIC ABI support

Most of these patches are integrated in gcc trunk/binutils master. They should also be usable with Gregor's original musl-cross or other build systems, if desired.

Some functionality (SH/FDPIC, and support for J2 specific features) is presently only available with gcc 5.2.0 and later, and binutils 2.25.1 and later.

License

The musl-cross-make build tools and documentation are licensed under the MIT/Expat license as found in the LICENSE file.

Note that this license does not cover the patches (patches/) or resulting binary artifacts.

Each patch (patches/) is distributed under the terms of the license of the upstream project to which it is applied.

Similarly, any resulting binary artifacts produced using this build tooling retain the original licensing from the upstream projects. The authors of musl-cross-make do not make any additional copyright claims to these artifacts.

Contribution

Unless you explicitly state otherwise, any contribution submitted for inclusion in musl-cross-make by you shall be licensed as above without any additional terms or conditions.

musl-cross-make's People

Contributors

andrewchambers avatar fanquake avatar filosottile avatar icecodenew avatar kholia avatar kmark avatar kwinsch avatar lukka avatar michaelforney avatar midipix avatar pattop avatar peterhj avatar richfelker avatar rofl0r avatar traviscross avatar vszakats avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

musl-cross-make's Issues

Tag releases

If you tag a release of this toolkit, I can make a Homebrew formula for it, and make one-click pre-built cross-compilers available for OS X :)

Literally just add a git version tag, I'll take care of the rest.

Interest in a handful of sample config.mak files as a PR?

Hello,

I have had to develop a small/medium handful of different config.mak files over time for projects with various SoCs (just about every architecture except sparc) and I keep a set of config.mak files handy.

Do you have any interest in keeping an examples/ directory in the musl-cross-make repository? If so I would be happy to PR them.

I also have a simple script similar the Python virtualenv activate scripts that you use via $ source /toolchains/musl-x86_64-linux/activate that sets a bunch of environment variables to make building certain packages much easier, since not all support straightforward cross-compiling conventions in their configure/make systems (if they even have configure/make at all!)

Please let me know if you would be interested in either thing and I will send a PR.

Thank you, I very much appreciate the work you do on musl and musl-cross-make

Build seems to fail for TARGET = x86_64-linux-musl

--- config.mak.dist     2020-03-16 05:41:49.588029927 +0000
+++ config.mak  2020-03-16 05:43:37.621750064 +0000
@@ -8,7 +8,7 @@
 # command line. Some examples:

 # TARGET = i486-linux-musl
-# TARGET = x86_64-linux-musl
+TARGET = x86_64-linux-musl
 # TARGET = arm-linux-musleabi
 # TARGET = arm-linux-musleabihf
 # TARGET = sh2eb-linux-muslfdpic
@@ -19,7 +19,7 @@
 # To install directly to a specific location, set it here. Multiple targets
 # can safely be installed in the same location. Some examples:

-# OUTPUT = /opt/cross
+OUTPUT = /usr/local/muslcross
 # OUTPUT = /usr/local

 # By default, latest supported release versions of musl and the toolchain

Fails while running on a 48 core machine running FROM rustembedded/cross:x86_64-unknown-linux-musl docker container, running with gcc:

# gcc --version
gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# uname -a
Linux 02c39c528e71 3.10.0-693.2.2.el7.x86_64 #1 SMP Sat Sep 9 03:55:24 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
# make -j48
(...)
libtool: link: ranlib .libs/libgmp.a
libtool: link: rm -fr .libs/libgmp.lax
libtool: link: ( cd ".libs" && rm -f "libgmp.la" && ln -s "../libgmp.la" "libgmp.la" )
make[5]: Leaving directory '/root/musl-cross-make/build/local/x86_64-linux-musl/obj_gcc/gmp'
make[4]: Leaving directory '/root/musl-cross-make/build/local/x86_64-linux-musl/obj_gcc/gmp'
make[3]: Leaving directory '/root/musl-cross-make/build/local/x86_64-linux-musl/obj_gcc/gmp'
make[2]: Leaving directory '/root/musl-cross-make/build/local/x86_64-linux-musl/obj_gcc'
Makefile:222: recipe for target 'obj_gcc/gcc/.lc_built' failed
make[1]: *** [obj_gcc/gcc/.lc_built] Error 2
make[1]: Leaving directory '/root/musl-cross-make/build/local/x86_64-linux-musl'
Makefile:181: recipe for target 'all' failed
make: *** [all] Error 2

Most of the toolchain seems to be there though:

# ls /usr/local/muslcross/x86_64-linux-musl/bin/
ar  as  ld  ld.bfd  nm  objcopy  objdump  ranlib  readelf  strip
# ldd /usr/local/muslcross/x86_64-linux-musl/bin/nm
        linux-vdso.so.1 (0x00007ffdb5cea000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f66291aa000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6628db9000)
        /lib64/ld-linux-x86-64.so.2 (0x0000560c9869e000)

Please set ELF interpreter so things work, i.e. to output or prefix.

Preferably when I run make install, but even if before that, ok.
I'm giving up a nd trying musl-cross instead of musl-cross-make.
CFLAGS=-static didn't work in my build environment and I'm not sure I want it anyway.
Also putting muslc in /lib didn't work. I didn't debug it.

Wrong symlink for ld-musl-x86_64.so.1

Not sure if this is an issue with musl or the build script, but after building with musl v1.1.24 and doing make install, I notice that the symbolic link for ld-musl-x86_64.so.1 is incorrect. I would assume it should be a relative symlink to libc.so.

lrwxrwxrwx 1 root root 12 Feb  4 11:26 /opt/cross/x86_64-linux-musl/lib/ld-musl-x86_64.so.1 -> /lib/libc.so

Unable to build Linux kernel with ARM cross toolchain

Hi there,
I successfully built a cross compiler for ARM using musl-cross-make. I'm able to build programs for armv6z (Raspberry Pi) with the following CFLAGS using the cross compiler, but I'm unable to build the Linux kernel.

-march=armv6z -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp

config.mak

TARGET = arm-linux-musleabihf
OUTPUT = /build/cross-arm

DL_CMD = curl -C - -L -o

MUSL_CONFIG += --disable-shared

COMMON_CONFIG += --disable-nls --disable-shared --enable-languages=c
COMMON_CONFIG += CC="gcc -static --static" CXX="g++ -static --static"

GCC_CONFIG += --enable-languages=c
GCC_CONFIG += --disable-libquadmath --disable-decimal-float
GCC_CONFIG += --disable-multilib

GCC output

$ ./arm-linux-musleabihf-gcc -v                                                             
Using built-in specs.
COLLECT_GCC=./arm-linux-musleabihf-gcc
COLLECT_LTO_WRAPPER=/build/cross-arm/bin/../libexec/gcc/arm-linux-musleabihf/9.2.0/lto-wrapper
Target: arm-linux-musleabihf
Configured with: ../src_gcc/configure --enable-languages=c,c++ --with-float=hard --disable-nls --disable-shared --enable-languages=c CC='gcc -static --static' CXX='g++ -static --static' --enable-languages=c --disable-libquadmath --disable-decimal-float --disable-multilib --disable-bootstrap --disable-assembly --disable-werror --target=arm-linux-musleabihf --prefix= --libdir=/lib --disable-multilib --with-sysroot=/arm-linux-musleabihf --enable-tls --disable-libmudflap --disable-libsanitizer --disable-gnu-indirect-function --disable-libmpx --enable-libstdcxx-time=rt --with-build-sysroot=/tmp/musl-cross-make/build/local/arm-linux-musleabihf/obj_sysroot AR_FOR_TARGET=/tmp/musl-cross-make/build/local/arm-linux-musleabihf/obj_binutils/binutils/ar AS_FOR_TARGET=/tmp/musl-cross-make/build/local/arm-linux-musleabihf/obj_binutils/gas/as-new LD_FOR_TARGET=/tmp/musl-cross-make/build/local/arm-linux-musleabihf/obj_binutils/ld/ld-new NM_FOR_TARGET=/tmp/musl-cross-make/build/local/arm-linux-musleabihf/obj_binutils/binutils/nm-new OBJCOPY_FOR_TARGET=/tmp/musl-cross-make/build/local/arm-linux-musleabihf/obj_binutils/binutils/objcopy OBJDUMP_FOR_TARGET=/tmp/musl-cross-make/build/local/arm-linux-musleabihf/obj_binutils/binutils/objdump RANLIB_FOR_TARGET=/tmp/musl-cross-make/build/local/arm-linux-musleabihf/obj_binutils/binutils/ranlib READELF_FOR_TARGET=/tmp/musl-cross-make/build/local/arm-linux-musleabihf/obj_binutils/binutils/readelf STRIP_FOR_TARGET=/tmp/musl-cross-make/build/local/arm-linux-musleabihf/obj_binutils/binutils/strip-new --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
Thread model: posix
gcc version 9.2.0 (GCC)

Kernel build output

$ pwd
/tmp/linux-4.14.171
$ export PATH="/build/cross-arm/bin:${PATH}"
$ export CROSS_COMPILE="arm-linux-musleabihf-"
$ make mrproper && make ARCH="arm" menuconfig && make V=1 ARCH="arm" zImage dtbs
[...]
  arm-linux-musleabihf-gcc -Wp,-MD,init/.main.o.d -nostdinc -isystem /build/cross-arm/bin/../lib/gcc/arm-linux-musleabihf/9.2.0/include -I./arch/arm/include -I./arch/arm/include/generated  -I./include -I./arch/arm/include/uapi -I./arch/a
rm/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -D__KERNEL__ -mlittle-endian -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -Werror
-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE -fno-dwarf2-cfi-asm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -fno-ipa-sra -mabi=aapcs-linux -mfpu=vfp -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=arm
v5t -Wa,-march=armv7-a -msoft-float -Uarm -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-int-in-bool-context -Wno-address-of-packed-member -Wno-attribute-alias -O2 --param=allow-store-
data-races=0 -DCC_HAVE_ASM_GOTO -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -pg -Wdeclaration-
after-statement -Wno-pointer-sign -Wno-stringop-truncation -fno-strict-overflow -fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -Werror=incompa
tible-pointer-types -Werror=designated-init -fmacro-prefix-map=./= -Wno-packed-not-aligned -fno-function-sections -fno-data-sections    -DKBUILD_BASENAME='"main"'  -DKBUILD_MODNAME='"main"' -c -o init/.tmp_main.o init/main.c
/tmp/ccOUdmcs.s: Assembler messages:
/tmp/ccOUdmcs.s:2161: Error: selected processor does not support `cpsid i' in ARM mode
/tmp/ccOUdmcs.s:2644: Error: selected processor does not support `cpsid i' in ARM mode
/tmp/ccOUdmcs.s:2789: Error: selected processor does not support `cpsie i' in ARM mode
/tmp/ccOUdmcs.s:3318: Error: selected processor does not support `cpsie i' in ARM mode
/tmp/ccOUdmcs.s:3600: Error: selected processor does not support `cpsid i' in ARM mode
/tmp/ccOUdmcs.s:3658: Error: selected processor does not support `dmb ishst' in ARM mode
/tmp/ccOUdmcs.s:3713: Error: selected processor does not support `dmb ishst' in ARM mode

Full log can be see here. Same problem with 5.5.4.

Do you have any idea ?

Thanks

Build fails when using reqwest/openssl

Reproduction: https://github.com/vmalloc/musl-cross-openssl-issue

When trying to build it via:

CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++ cargo build --release --target x86_64-unknown-linux-musl

It fails:

cargo:rustc-cfg=const_fn
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_LIB_DIR
X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_INCLUDE_DIR
X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_DIR
X86_64_UNKNOWN_LINUX_MUSL_OPENSSL_DIR unset
cargo:rerun-if-env-changed=OPENSSL_DIR
OPENSSL_DIR unset
run pkg_config fail: "Cross compilation detected. Use PKG_CONFIG_ALLOW_CROSS=1 to override"

--- stderr
thread 'main' panicked at '

Could not find directory of OpenSSL installation, and this `-sys` crate cannot
proceed without this knowledge. If OpenSSL is installed and this crate had
trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
compilation process.

Make sure you also have the development packages of openssl installed.
For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.

If you're in a situation where you think the directory *should* be found
automatically, please open a bug at https://github.com/sfackler/rust-openssl
and include information about your system as well as this message.

$HOST = x86_64-apple-darwin
$TARGET = x86_64-unknown-linux-musl
openssl-sys = 0.9.47

', /Users/rotemy/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.47/build/find_normal.rs:150:5
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

Trying to pass PKG_CONFIG_ALLOW_CROSS=1 doesn't help either:

thread 'main' panicked at '

Could not find directory of OpenSSL installation, and this `-sys` crate cannot
proceed without this knowledge. If OpenSSL is installed and this crate had
trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
compilation process.

Make sure you also have the development packages of openssl installed.
For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.

If you're in a situation where you think the directory *should* be found
automatically, please open a bug at https://github.com/sfackler/rust-openssl
and include information about your system as well as this message.

I tried using rust-tls-default-vendored for the reqwest dependency, which gets me a bit further along the compilation but still fails:

# Cargo.toml
[dependencies]
reqwest = { version = "0.9.18", features=["default-tls-vendored"] }
ar: creating archive apps/libapps.a
warning: /Library/Developer/CommandLineTools/usr/bin/ranlib: warning for library: apps/libapps.a the table of contents is empty (no object file members in the library define global symbols)
ar: creating archive libssl.a
ar: creating archive libcrypto.a
warning: /Library/Developer/CommandLineTools/usr/bin/ranlib: warning for library: libssl.a the table of contents is empty (no object file members in the library define global symbols)
warning: /Library/Developer/CommandLineTools/usr/bin/ranlib: warning for library: libcrypto.a the table of contents is empty (no object file members in the library define global symbols)
apps/ca.o: In function `do_revoke':
ca.c:(.text.do_revoke+0x51): undefined reference to `X509_get_subject_name'
ca.c:(.text.do_revoke+0x5d): undefined reference to `X509_NAME_oneline'
ca.c:(.text.do_revoke+0x6a): undefined reference to `X509_get_serialNumber'
ca.c:(.text.do_revoke+0x74): undefined reference to `ASN1_INTEGER_to_BN'
ca.c:(.text.do_revoke+0x88): undefined reference to `BN_is_zero'
ca.c:(.text.do_revoke+0x98): undefined reference to `BN_bn2hex'
ca.c:(.text.do_revoke+0xa5): undefined reference to `BN_free'
ca.c:(.text.do_revoke+0xde): undefined reference to `TXT_DB_get_by_index'
...

Any pointers on what I'm doing wrong are greatly appreciated! thanks in advance!

Can't compile using gcc 7.1

Hi,

I can't compile toolchain using g++ 7.1

Here is an error:

../../src_toolchain/gcc/ubsan.c: In function ‘bool ubsan_use_new_style_p(location_t)’:
../../src_toolchain/gcc/ubsan.c:1474:23: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
       || xloc.file == '\0' || xloc.file[0] == '\xff'

And my g++ configuration:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/7.1.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc-multilib/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release
Thread model: posix
gcc version 7.1.1 20170528 (GCC) 

musl-cross-make toolchain can not make ATLAS

I have compiled new toolchain with fortran, as it is needed for compiling static ATLAS,gsl,lapack,OpenMPI, and other tools for electronic structure calculations (JDFTx, Quantum Espresso,...). The thing I need is static toolchain, able to make fully static code with SSE expensions for HPC. I'd like to mitigate problems with installation on different machines with alike CPUs or updating linux distro on same machine without need to rebuild libs ATLAS,gsl,lapack,OpenMPI and JDFTx.

Small (fully static)test software: Xz and ZPAQ (7.15 and 7.05).
Generated toolchain makes good Xz, but fails to make working ZPAQ (7.15 and 7.05).
ZPAQ runs with --help, but crashes with segfault on trying to compress something.

While compiling ATLAS, it complains that compiler doesn't support SSE:
"Default compiler & flags do not support SSEGEN!!".

I change only CC,CXX,F77 system variables.

My arch is x86-64, Core2DUO T5800. GCC 4.8.2, Mageia Linux 4.
Experiments with different gcc versions, distros give same result.

The most important parameters of config are given,others are default:
TARGET = x86_64-linux-musl
OUTPUT = /opt/cross
GCC_CONFIG += --enable-languages=c,c++,fortran

after making completely static toolchain with previously maked as above:
TARGET = x86_64-linux-musl
OUTPUT = /opt/cross2
COMMON_CONFIG += CC="/opt/cross/bin/x86_64-linux-musl-gcc -static --static" CXX="/opt/cross/bin/x86_64-linux-musl-g++ -static --static"
GCC_CONFIG += --enable-languages=c,c++,fortran,lto

results don't change.

The configs, script for building ATLAS and ATLAS build output are in attachments.

Could you say me what am I doing wrong? And what should I do for compiling correct toolchain+ATLAS?

Thank you in advance, Igor.

support musl release tarballs

using musl from git requires an internet connection at build time, which is not the case with pre-fetched tarballs stored in $SOURCES.
also due to the clean step, the git repo will be re-downloaded every time, which is annoying with a slow internet connection.

Missing LICENSE

Please add a LICENSE file, so this can be packaged properly.

Thank you!

How to build compiler without x87 fpu?

Hi,
This is a great project, I found it the easiest one to create cross-compilers for many architectures quickly and easily.
I'm interested in creating a cross-compiler for the 486 or 386 without FPU (e.g. 486SX). I created a cross-compiler for i386, but it still emits floating point instructions. It tried compiling with i386-linux-musl-gcc -msoft-float -mno-fp-ret-in-387 -static ./hello.c, but then the linker complained about missing float functions (hello.c:(.text+0x34): undefined reference to '__subdf3'). Is there way to build a cross-compiler with the soft-float support built-in (ideally as a default)?

GCC Updates

Moved from GregorR/musl-cross#73

I'm coming across several errors when manually building GCC 8.2.0. I was hoping you could possibly provide patches. Issues during make all-target-libgcc phase. See https://preshing.com/20141119/how-to-build-a-gcc-cross-compiler/ for more details.

Target system: x86_64-pc-linux-musl

Trying to build GCC version: 8.2.0

Host GCC version: 7.3.0

Binutils: 2.31.1

Musl: 1.1.21

Host GCC configure: ../configure --prefix=/usr/local --libdir=/usr/local/lib64 --build=x86_64-cros-linux-gnu --host=x86_64-cros-linux-gnu --target=x86_64-cros-linux-gnu --enable-checking=release --disable-multilib --enable-threads=posix --disable-bootstrap --disable-werror --disable-libmpx --enable-static --enable-shared --program-suffix=-7.3 --with-arch-64=x86-64 --with-default-libstdcxx-abi=gcc4-compatible

Target GCC configure: ../configure --prefix=/usr/local/musl --target=x86_64-pc-linux-musl --disable-static --enable-shared --enable-host-shared --enable-multilib --with-multilib-list=m32,m64 --with-system-zlib --with-system-libunwind --enable-default-pie --enable-default-ssp --enable-libssp --enable-linker-build-id --enable-version-specific-runtime-libs --enable-initfini-array --enable-ld --enable-gold=default --enable-__cxa_atexit --enable-checking=release --with-default-libstdcxx-abi=new --enable-libstdcxx-filesystem-ts --enable-libstdcxx-threads --enable-libstdcxx-time --enable-clocale --enable-libstdcxx-pch --enable-lto --enable-languages=all

Host platform: Chromebrew (x86_64-cros-linux-gnu)

Using a gcc and binutils fork from a github branh

I'd like to experiment with a musl toolchain for Lexra MIPS CPUs. If you're not familiar with the Lexra abomination, there's a brief explanation at the Linux/MIPS site here:

https://www.linux-mips.org/wiki/Lexra

This is a relatively rare CPU but it is found on a handful of Realtek SoCs, so it is not completely obsolete or exotic. I would like to ditch the binary RSDK made available by Realtek if possible since musl-libc is superior in so many ways

Though these are very old chips, Yasha Cherikovsky is working on getting official support for these chips into upstream GCC / binutils, but for now I am only working with forks on github:

There seems to be a good chance that his work will eventually be accepted based on some mailing list discussions:

Is there an easy way for me to specify that these should be used with musl-cross-make, or is there a large amount of hand modifying/patching I will need to do the Makefiles? GitHub can very easily emit tarballs by appending "/tarball/" to the end of the URL, but this doesn't really help since the archives are not named in accordance with what musl would expect. Additionally, I assume I would have to create sha1 sums in the hashes directory.

Is there any approach here that is simpler than stepping through all of the Makefiles and figuring this out on my own? I'm not asking for hand-holding, but perhaps an opinion on how much effort may be required from me and/or a suggested approach (or a suggestion to not bother trying at all!)

Thanks!

Suggestion: Integrate LLVM compiler support

I think LLVM addition to musl-cross-make is good option.

"Compiler switch" example:
make COMPILER=clang - to llvm toolchain or make COMPILER=gcc - to traditional musl-cross-make option

Raspberry Pi 3 ARM - ELF format wrong

Hello,

I have installed your cross compiler using brew:
brew install FiloSottile/musl-cross/musl-cross --without-x86_64 --with-arm-hf

Everything finished successfully.
After that I wrote simple code in Eclipse:

#include <iostream>

int main() {
	std::cout << "HELLO" << std::endl;
	return 0;
}

Then I have set all needed project options.
Eclipse compiled it with:
arm-linux-musleabihf-g++ -static -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.o" -o "main.o" "../main.cpp"

After copying exec to Raspberry Pi 3 model B I got error:
-bash: test: No such file or directory

So I read ELF and the only thing that is different in this exec is this line:
OS/ABI: UNIX - System V
while in another working exec's on my Raspberry this is Unix - GNU

What can I do to resolve this issue?

ARM v6 and v7 target

Hello,

There is a documentation on Musl Getting Started page regarding distinctions between ARMv6 and ARMv7. There is no information about it in the Supported Targets list. Is it possible to build sperate cross-compilers for ARMv6 and ARMv7 now?

Thanks

NATIVE and HOST vars don't work properly from config.mak

The top-level Makefile interprets the NATIVE, HOST, and TARGET variables before including config.mak, and thus does not fully honor settings made for them in config.mak. Apparently they were only tested via the command line, which is the intended usage, but this intent is not made clear in the documentation and is a regression vs old versions. Specifically:

  • NATIVE doesn't work at all from config.mak; the only place it's used is in the logic to set HOST:=$(TARGET), before the include.
  • HOST is supposed to set the default BUILD_DIR and OUTPUT location in a way that doesn't clash with separate builds where HOST is unset (=build). If HOST is set via config.mak, potentially-clashing defaults will be used.

I'm not sure how to fix this, or if it can be fixed, since there is an intent that config.mak can inspect the value of HOST (set via NATIVE) and possibly the values of BUILD_DIR and OUTPUT, and that it can override them.

musl 1.1.17 released

http://www.musl-libc.org/download.html

musl-1.1.17.tar.gz (sig) - October 19, 2017

This release fixes numerous bugs affecting visible behavior and safety/internal consistency, including a stack-based buffer overflow in dns parsing and multiple sources of invalid memory accesses that may lead to crashes. See the release notes in WHATSNEW for details.

Many new features have also been added, including deferred symbol binding in the dynamic linker (RTLD_LAZY emulation), an option to overrid argv[0] when running ldso to execute a program, support for starting new sessions via posix_spawn (POSIX_SPAWN_SETSID, accepted for standardization), and ability to query the active thread-local locale (via _NL_LOCALE_NAME extension). Improvements in compatibility with applications, build tools, and platforms have also been made.

Libs are compiled without `-fPIC` flag

After compilation I found generated libs were not compiled with -fPIC flag and I don't know where to add it.
The problem is, without the flag, it's not possible to build SOs using any function from any lib, which is necessary for many project, i.e. LLVM. Even the toolchain itself doesn't use or generate any SO, but still we need it to support the usage.
A small test:

a.c

#include <stdio.h>
void f() { printf("hello\n"); }
$ /opt/cross/bin/x86_64-linux-musl-gcc -shared a.c -o liba.so
/opt/cross/bin/../lib/gcc/x86_64-linux-musl/6.4.0/../../../../x86_64-linux-musl/bin/ld: /tmp/ccCNRLay.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/opt/cross/bin/../lib/gcc/x86_64-linux-musl/6.4.0/../../../../x86_64-linux-musl/bin/ld: /opt/cross/bin/../lib/gcc/x86_64-linux-musl/6.4.0/../../../../x86_64-linux-musl/lib/libc.a(__stdout_write.o): relocation R_X86_64_32S against symbol `__stdio_write' can not be used when making a shared object; recompile with -fPIC
/opt/cross/bin/../lib/gcc/x86_64-linux-musl/6.4.0/../../../../x86_64-linux-musl/bin/ld: /opt/cross/bin/../lib/gcc/x86_64-linux-musl/6.4.0/../../../../x86_64-linux-musl/lib/libc.a(ofl.o): relocation R_X86_64_32 against `.bss.ofl_lock' can not be used when making a shared object; recompile with -fPIC
/opt/cross/bin/../lib/gcc/x86_64-linux-musl/6.4.0/../../../../x86_64-linux-musl/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status

musl git sources are not verified

Hi there,

when downloading musl via git (which is the default), the sources get downloaded over a plain git connection without any encryption or verification.

Please switch to downloading tarballs only (where the hashes do get checked) and disable the insecure git retrieval until a HTTPS git mirror can be used.

Maybe someone can talk to the musl developers and ask for a HTTPS git mirror.

Thank you.

How to cross-build a NATIVE compiler?

I need to cross-build a NATIVE compiler for mipsel
setting:

TARGET = mipsel-linux-musl
NATIVE = Yes

results in error (compiler not found.
I am now copmiling using just TARGET = mipsel-linux-musl, but that should produce a cross-compiler running on my host machine, right?
Should I use that to build the native?
Can someone point me to relevant docs, please?

Compilation ended without errors, but make install raise error:

...
/usr/bin/install -c -m 644 macro_list /lib/gcc/mipsel-linux-musl/6.4.0/install-tools/macro_list
/usr/bin/install -c -m 644 fixinc_list /lib/gcc/mipsel-linux-musl/6.4.0/install-tools/fixinc_list
set -e; for ml in `cat fixinc_list`; do \
  multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \
  /bin/bash ../../src_gcc/gcc/../mkinstalldirs /lib/gcc/mipsel-linux-musl/6.4.0/install-tools/include${multi_dir}; \
  /usr/bin/install -c -m 644 include-fixed${multidir}/limits.h /lib/gcc/mipsel-linux-musl/6.4.0/install-tools/include${multi_dir}/limits.h; \
done
/usr/bin/install: cannot stat 'include-fixed/limits.h': No such file or directory
make[2]: *** [Makefile:3639: install-mkheaders] Error 1
make[2]: Leaving directory '/home/mcon/vocore/prove/musl/musl-cross-make/build/local/mipsel-linux-musl/obj_gcc/gcc'
make[1]: *** [Makefile:4191: install-gcc] Error 2
make[1]: Leaving directory '/home/mcon/vocore/prove/musl/musl-cross-make/build/local/mipsel-linux-musl/obj_gcc'
make: *** [Makefile:2279: install] Error 2

Any suggestion?

Fails during libstdc+-v3/src/makefile

from the prev line
Building your musl-cross-master (current, not archive) I am failing at this point, can you help please? I will add other details and the makefile and log if wanted.

rm -f libstdc++-symbols.ver.tmp
make[7]: *** No rule to make target '../src/c++11/libc++11convenience.la', needed by 'libstdc++.la'. Stop
make[7]: Leaving directory '/mnt/sda6/pcc-musl/musl-cross-master/build/local/x86_64-linux-musl/obj_gcc/x86_64-linux-musl/libstdc++-v3/src'
make[6]: *** [Makefile:638: all-recursive] Error1

and it steps up from there as Error1, Error2....

My intent is to eventually try to replace gcc with the pcc [url]http://pcc.ludd.ltu.se/ftp/pub/pcc/[/url] with pcc-libs [url]http://pcc.ludd.ltu.se/ftp/pub/pcc-libs/[/url], and i'm looking at a basic toolchain to play with / try it out. I will need to update linux to v5 at some point to make best use of it.

But I need to get to the point of a stable working toolchain first.

Producing a fully static toolchain

Hello there,

Before all, thanks a lot for this useful project! I've successfully built and used toolchains produced by this project.

But I encountered a problem when a toolchain built on Ubuntu 16.04 (for example), is used on Ubuntu 18.04. The gcc from the toolchain is then complaining about a missing glibc 2.21 (it's 2.27 on 18.04).

That's when I realised that the produced toolchains are dynamically linked (or at least gcc and the different binutils). And I found that's a pitty since they're already portable/relocatable.

So my question is: is it possible, by giving the good combinations of COMMON_CONFIG/BINUTILS_CONFIG/GCC_CONFIG to litecross, to produce fully static toolchains that could be used on any Linux distros ?

I've already messed with, but maybe in the wrong variables:

--static
-all-static
--disable-shared
-static-libstdc++
-static-libgcc

Thanks a lot for your answer!

Missing hash sha1 into /hashes/ dir for musl 1.1.20

Since musl 1.1.20 has been set as default version, since the sha1 file corresponding for 1.1.20 is missing, when building the following error is hit:

$ make musl-1.1.20
make: *** No rule to make target 'musl-1.1.20'.  Stop.

0.9.2 Build Errors

TARGET = x86_64-linux-musl. Build always fails with the following:

In file included from ./tm.h:30:0,
from ../../src_toolchain/gcc/cp/cvt.c:30:
../../src_toolchain/gcc/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",
^
../../src_toolchain/gcc/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n",
^
In file included from ./tm.h:51:0,
from ../../src_toolchain/gcc/cp/cvt.c:30:
../../src_toolchain/gcc/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n",
^
g++ -c -DIN_GCC_FRONTEND -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -DHAVE_CONFIG_H -I. -Icp -I../../src_toolchain/gcc -I../../src_toolchain/gcc/cp -I../../src_toolchain/gcc/../include -I../../src_toolchain/gcc/../libcpp/include -I/mnt/2/musl-cross-make/src/musl-cross-make-0.9.2/build-x86_64-linux-musl/obj_toolchain/./gmp -I/mnt/2/musl-cross-make/src/musl-cross-make-0.9.2/build-x86_64-linux-musl/src_toolchain/gmp -I/mnt/2/musl-cross-make/src/musl-cross-make-0.9.2/build-x86_64-linux-musl/obj_toolchain/./mpfr/src -I/mnt/2/musl-cross-make/src/musl-cross-make-0.9.2/build-x86_64-linux-musl/src_toolchain/mpfr/src -I/mnt/2/musl-cross-make/src/musl-cross-make-0.9.2/build-x86_64-linux-musl/src_toolchain/mpc/src -I../../src_toolchain/gcc/../libdecnumber -I../../src_toolchain/gcc/../libdecnumber/bid -I../libdecnumber -I../../src_toolchain/gcc/../libbacktrace -o cp/except.o -MT cp/except.o -MMD -MP -MF cp/.deps/except.TPo ../../src_toolchain/gcc/cp/except.c
In file included from ./tm.h:30:0,
from ../../src_toolchain/gcc/cp/except.c:27:
../../src_toolchain/gcc/config/elfos.h:102:21: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
fprintf ((FILE), "%s"HOST_WIDE_INT_PRINT_UNSIGNED"\n",
^
../../src_toolchain/gcc/config/elfos.h:170:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n",
^
In file included from ./tm.h:51:0,
from ../../src_toolchain/gcc/cp/except.c:27:
../../src_toolchain/gcc/defaults.h:126:24: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n",
^
In file included from ../../src_toolchain/gcc/cp/except.c:1023:0:
cfns.gperf: In function ‘const char* libc_name_p(const char_, unsigned int)’:
cfns.gperf:101:1: error: ‘const char_ libc_name_p(const char_, unsigned int)’ redeclared inline with ‘gnu_inline’ attribute
cfns.gperf:26:14: note: ‘const char_ libc_name_p(const char_, unsigned int)’ previously declared here
cfns.gperf: At global scope:
cfns.gperf:26:14: warning: inline function ‘const char_ libc_name_p(const char_, unsigned int)’ used but never defined
make[3]: *_* [Makefile:1065: cp/except.o] Error 1
make[3]: Leaving directory '/mnt/2/musl-cross-make/src/musl-cross-make-0.9.2/build-x86_64-linux-musl/obj_toolchain/gcc'
make[2]: *** [Makefile:5745: all-gcc] Error 2
make[2]: Leaving directory '/mnt/2/musl-cross-make/src/musl-cross-make-0.9.2/build-x86_64-linux-musl/obj_toolchain'
make[1]: *** [Makefile:154: obj_toolchain/gcc/.lc_built] Error 2
make[1]: Leaving directory '/mnt/2/musl-cross-make/src/musl-cross-make-0.9.2/build-x86_64-linux-musl'
make: *** [Makefile:156: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...>

question about kernel version!

I build static PHP package with musl-cross-make.

If I build MUSL with kernel 4.19, will the binary work without problem on old kernel like 3.2?

The GLIBC has --enable=kernel= options, is MUSL need this ?

deterministic-archives

i'd like to propose to either add --enable-deterministic-archives to binutils' configure flags either by default, or at least having it as a pre-fabricated (commented out) statement in config.mak.dist.

that flag makes it so that ar doesn't embed timestamps into archives, so you can have reproducible builds with the resulting toolchain.

the flag is supported by all binutils version back to 2.20 AFAIK.

since there's no BINUTILS_CONFIG i've not yet come up with a patch.

RFC.

'go' language possible?

I'm not sure if that's the correct way but i've tried to enable 'go' language with this 'config.mak':

TARGET = arm-linux-musleabihf
COMMON_CONFIG += CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2" LDFLAGS="-s"
GCC_CONFIG += --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-tune=cortex-a9 --with-mode=thumb
GCC_CONFIG += --enable-threads=posix --disable-nls --enable-languages=c,c++,go
MUSL_CONFIG += CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2" LDFLAGS="-s"

GCC_VER = 7.2.0
LINUX_VER = 

Creating the toolchain with 'make -j4' breaks after some time with:

sigtab.go:38:2: error: duplicate value for index 29
  _SIGPOLL:    {_SigNotify, "SIGPOLL: pollable event occurred"},
  ^
../../../src_gcc/libgo/go/runtime/signal_unix.go:395:3: error: range clause must have array, slice, string, map, or channel type
   for i := range sigtable {
   ^
../../../src_gcc/libgo/go/runtime/signal_unix.go:591:2: error: range clause must have array, slice, string, map, or channel type
  for i := range sigtable {
  ^
../../../src_gcc/libgo/go/runtime/signal_unix.go:395:7: error: invalid type for range clause
   for i := range sigtable {
       ^
../../../src_gcc/libgo/go/runtime/signal_unix.go:591:6: error: invalid type for range clause
  for i := range sigtable {

Is there anything wrong here or is 'go' maybe not supported by the toolchain?

shared binaries produced are not executable; loader symlink broken

I have built a toolchain for x86_64-linux-musl using musl-cross-make . I have updated gcc to 9.3.0 and binutils to 2.34 but all other settings are default.

Building a binary works, but running it fails.

Running "file ./foo" I get this "ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, not stripped"

strip symbols

Hallo,
how can i create a toolchain with stripped symbols (eg. libc.so)? I though LDFLAGS="-s" in config.mak would do that but it doesn't. My libc.so is 750kb and after (manual) stripping its 500kb.

What's the difference between COMMON_CONFIG and GCC_CONFIG? The litecross/MAKEFILE just adds them in a row.

Edit: With 'stripped' i mean to have -g0 (no debug infos) and such honored as well. In the end i want an optimized -O2 release without any debug/symbol information (especially for *.a files).

config.mak:

TARGET = arm-linux-musleabihf
COMMON_CONFIG += CFLAGS="-g0 -O2" CXXFLAGS="-g0 -O2" LDFLAGS="-s"
GCC_CONFIG += --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-tune=cortex-a9 --with-mode=thumb
GCC_CONFIG += --enable-threads=posix --disable-nls
GCC_CONFIG += --disable-multilib

GCC_VER = 7.2.0
LINUX_VER = 

Incorrectly named files

There are two misnamed files which could cause problems if you patched using *.diff as it would miss these .dff files.

musl-cross-make/patches/gcc-5.3.0/0011-m68k.dff
musl-cross-make/patches/gcc-6.4.0/0014-m68k.dff

OS X build fails due to missing elf.h

make[2]: Entering directory '/Users/filippo/build/musl-cross-make/linux-4.4.10'
make[3]: Entering directory '/Users/filippo/build/musl-cross-make/build-x86_64-linux-musl/obj_kernel_headers'
  CHK     include/generated/uapi/linux/version.h
  UPD     include/generated/uapi/linux/version.h
  HOSTCC  scripts/basic/fixdep
  WRAP    arch/x86/include/generated/asm/clkdev.h
  WRAP    arch/x86/include/generated/asm/cputime.h
  WRAP    arch/x86/include/generated/asm/dma-contiguous.h
  WRAP    arch/x86/include/generated/asm/early_ioremap.h
  WRAP    arch/x86/include/generated/asm/mcs_spinlock.h
  WRAP    arch/x86/include/generated/asm/mm-arch-hooks.h
  SYSTBL  arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_32.h
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_64.h
  SYSHDR  arch/x86/entry/syscalls/../../include/generated/uapi/asm/unistd_x32.h
  HOSTCC  arch/x86/tools/relocs_32.o
In file included from /Users/filippo/build/musl-cross-make/linux-4.4.10/arch/x86/tools/relocs_32.c:1:
/Users/filippo/build/musl-cross-make/linux-4.4.10/arch/x86/tools/relocs.h:12:10: fatal error: 'elf.h' file not found
#include <elf.h>
         ^
1 error generated.
scripts/Makefile.host:108: recipe for target 'arch/x86/tools/relocs_32.o' failed
make[4]: *** [arch/x86/tools/relocs_32.o] Error 1
arch/x86/Makefile:193: recipe for target 'archscripts' failed
make[3]: *** [archscripts] Error 2
make[3]: Leaving directory '/Users/filippo/build/musl-cross-make/build-x86_64-linux-musl/obj_kernel_headers'
Makefile:146: recipe for target 'sub-make' failed
make[2]: *** [sub-make] Error 2
make[2]: Leaving directory '/Users/filippo/build/musl-cross-make/linux-4.4.10'
Makefile:196: recipe for target 'obj_kernel_headers/.lc_built' failed
make[1]: *** [obj_kernel_headers/.lc_built] Error 2
make[1]: Leaving directory '/Users/filippo/build/musl-cross-make/build-x86_64-linux-musl'
Makefile:152: recipe for target 'all' failed
make: *** [all] Error 2
TARGET = x86_64-linux-musl
OUTPUT = /usr/local/Cellar/musl-cross-make/HEAD

Miscellaneous tool issues

I ran into a couple of minor issues trying to build musl-cross-make due to my admittedly obscure system tools:

  • Makefile and litecross/Makefile use the make variable $(PWD), which I expect is supposed to come from the environment. However, it appears that in at least mksh and loksh (linux port of openbsd's ksh), PWD is not exported to the environment. I fixed this locally by adding PWD = $(CURDIR) to the top of these Makefiles.
  • To generate $(BUILD_DIR)/config.mak, printf -- '%s\n' ... is run. I'm using the printf from sbase, which does not handle -- in printf (though, maybe it should). Looking at POSIX, it doesn't look like it is required to conform to the utility syntax guidelines. Perhaps the reason for using -- is that other implementations will otherwise treat the -include ... argument as an option? I checked and the coreutils printf does not have this problem.

Mingw (HOST = 86_64-w64-mingw32)

Hi,

this is not really a issue, is more a question.

I've been using musl-cross-make to build a toolchain for a t1042(ppc64) dev board.

In linux everything is ok.

For Windows i'm trying to build using mingw, even in linux for canadian cross compilation(using "--host=").

But i couldnt put it to work.

Have anyone been able to build a cross compiler musl for mingw?

Best Regards.

Not install host gcc assets

This might not be a problem with musl-cross-make, but I'm out of my depth to judge: when trying to link the cross compiler into /usr/local, I get the following conflicts:

/usr/local/share/gcc-5.3.0/python/libstdcxx/__init__.py -> /usr/local/Cellar/gcc/5.3.0/share/gcc-5.3.0/python/libstdcxx/__init__.py
/usr/local/share/gcc-5.3.0/python/libstdcxx/v6/__init__.py -> /usr/local/Cellar/gcc/5.3.0/share/gcc-5.3.0/python/libstdcxx/v6/__init__.py
/usr/local/share/gcc-5.3.0/python/libstdcxx/v6/printers.py -> /usr/local/Cellar/gcc/5.3.0/share/gcc-5.3.0/python/libstdcxx/v6/printers.py
/usr/local/share/gcc-5.3.0/python/libstdcxx/v6/xmethods.py -> /usr/local/Cellar/gcc/5.3.0/share/gcc-5.3.0/python/libstdcxx/v6/xmethods.py
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/crt3.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/crtfastmath.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/crtprec32.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/crtprec64.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/crtprec80.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/crttme.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/crttms.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/ieee_arithmetic.mod
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/ieee_exceptions.mod
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/ieee_features.mod
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/omp_lib.f90
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/omp_lib.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/omp_lib.mod
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/omp_lib_kinds.mod
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/openacc.f90
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/openacc.mod
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/openacc_kinds.mod
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/finclude/openacc_lib.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/crt3.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/crtfastmath.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/crtprec32.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/crtprec64.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/crtprec80.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/crttme.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/crttms.o
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/finclude/ieee_arithmetic.mod
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/finclude/ieee_exceptions.mod
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/finclude/ieee_features.mod
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/libcaf_single.a
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/libgcc.a
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/libgcc_eh.a
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/libgcov.a
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/i386/libgfortranbegin.a
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/adxintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/ammintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx2intrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512bwintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512cdintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512dqintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512erintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512fintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512ifmaintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512ifmavlintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512pfintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512vbmiintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512vbmivlintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512vlbwintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512vldqintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avx512vlintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/avxintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/bmi2intrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/bmiintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/bmmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/cilk.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/cilk_api.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/cilk_api_linux.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/cilk_stub.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/cilk_undocumented.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/common.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/holder.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/hyperobject_base.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/metaprogramming.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_file.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_list.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_max.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_min.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_min_max.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_opadd.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_opand.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_opmul.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_opor.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_opxor.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_ostream.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cilk/reducer_string.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/clflushoptintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/clwbintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cpuid.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/cross-stdarg.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/emmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/f16cintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/float.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/fma4intrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/fmaintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/fxsrintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/ia32intrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/immintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/iso646.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/lwpintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/lzcntintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/mm3dnow.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/mm_malloc.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/mmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/mwaitxintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/nmmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/omp.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/openacc.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/pcommitintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/pmmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/popcntintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/prfchwintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/quadmath.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/quadmath_weak.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/rdseedintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/rtmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/sanitizer/asan_interface.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/sanitizer/common_interface_defs.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/sanitizer/lsan_interface.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/shaintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/smmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/ssp/ssp.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/ssp/stdio.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/ssp/string.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/ssp/unistd.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/stdalign.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/stdarg.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/stdatomic.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/stdbool.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/stddef.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/stdfix.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/stdint-gcc.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/stdint.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/stdnoreturn.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/tbmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/tgmath.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/tmmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/unwind.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/varargs.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/wmmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/x86intrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/xmmintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/xopintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/xsavecintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/xsaveintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/xsaveoptintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/xsavesintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include/xtestintrin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-fixed/README
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-fixed/limits.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-fixed/math.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-fixed/stdint.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-fixed/syslimits.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-gnu-runtime/objc/NXConstStr.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-gnu-runtime/objc/Object.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-gnu-runtime/objc/Protocol.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-gnu-runtime/objc/message.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-gnu-runtime/objc/objc-decls.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-gnu-runtime/objc/objc-exception.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-gnu-runtime/objc/objc-sync.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-gnu-runtime/objc/objc.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-gnu-runtime/objc/runtime.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/include-gnu-runtime/objc/thr.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/install-tools/fixinc_list
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/install-tools/gsyslimits.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/install-tools/include/README
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/install-tools/include/limits.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/install-tools/macro_list
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/install-tools/mkheaders.conf
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/libcaf_single.a
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/libgcc.a
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/libgcc_eh.a
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/libgcov.a
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/libgfortranbegin.a
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/gtype.state
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ada/gcc-interface/ada-tree.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/addresses.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/alias.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/all-tree.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/alloc-pool.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ansidecl.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/asan.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/attribs.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/auto-host.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/auto-profile.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/b-header-vars
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/basic-block.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/bb-reorder.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/bitmap.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/builtin-attrs.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/builtin-types.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/builtins.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/builtins.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/bversion.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/c-family/c-common.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/c-family/c-common.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/c-family/c-objc.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/c-family/c-pragma.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/c-family/c-pretty-print.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/c-tree.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/calls.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ccmp.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cfg-flags.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cfg.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cfganal.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cfgbuild.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cfgcleanup.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cfgexpand.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cfghooks.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cfgloop.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cfgloopmanip.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cfgrtl.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cgraph.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/chkp-builtins.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cif-code.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cilk-builtins.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cilk.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cilkplus.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/collect-utils.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/collect2-aix.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/collect2.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/conditions.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/darwin-protos.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/darwin-sections.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/darwin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/darwin10.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/darwin9.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/i386/biarch64.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/i386/darwin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/i386/darwin64.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/i386/i386-opts.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/i386/i386-protos.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/i386/i386.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/i386/stringop.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/i386/x86-tune.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/initfini-array.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config/vxworks-dummy.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/config.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/configargs.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/context.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/convert.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/coretypes.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/coverage.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cp/cp-tree.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cp/cp-tree.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cp/cxx-pretty-print.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cp/name-lookup.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cp/type-utils.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cppbuiltin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cppdefault.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cpplib.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/cselib.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/data-streamer.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/dbgcnt.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/dbgcnt.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/dbxout.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/dce.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ddg.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/debug.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/defaults.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/df.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/dfp.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/diagnostic-color.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/diagnostic-core.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/diagnostic.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/diagnostic.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/dojump.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/dominance.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/domwalk.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/double-int.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/dumpfile.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/dwarf2asm.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/dwarf2out.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/emit-rtl.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/errors.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/et-forest.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/except.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/explow.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/expmed.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/expr.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/fibonacci_heap.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/file-find.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/filenames.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/fixed-value.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/flag-types.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/flags.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/fold-const.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/function.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gcc-plugin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gcc-symtab.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gcc.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gcov-counter.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gcov-io.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gcse-common.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gcse.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/generic-match.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gengtype.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/genrtl.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gensupport.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ggc-internal.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ggc.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple-builder.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple-expr.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple-fold.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple-iterator.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple-low.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple-match.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple-pretty-print.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple-ssa.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple-streamer.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple-walk.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimple.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimplify-me.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gimplify.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/glimits.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/graph.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/graphds.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/graphite-isl-ast-to-gimple.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/graphite-poly.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/graphite-scop-detection.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/graphite-sese-to-poly.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gsstruct.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gstab.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gsyms.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gsyslimits.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gtm-builtins.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/gtype-desc.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/hard-reg-set.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/hash-map.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/hash-set.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/hash-table.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/hashtab.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/highlev-plugin-common.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/hooks.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/hosthooks-def.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/hosthooks.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/hw-doloop.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/hwint.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ifcvt.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/inchash.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/incpath.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/input.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/insn-addr.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/insn-codes.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/insn-constants.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/insn-flags.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/insn-modes.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/insn-notes.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/internal-fn.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/internal-fn.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/intl.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ipa-chkp.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ipa-icf-gimple.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ipa-icf.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ipa-inline.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ipa-prop.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ipa-ref.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ipa-reference.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ipa-utils.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ira-int.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ira.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/is-a.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/java/java-tree.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/langhooks-def.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/langhooks.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/lcm.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/libfuncs.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/libiberty.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/limitx.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/limity.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/line-map.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/loop-unroll.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/lower-subreg.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/lra-int.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/lra.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/lto-compress.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/lto-section-names.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/lto-streamer.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/machmode.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/machmode.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/md5.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/mode-classes.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/objc/objc-tree.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/obstack.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/omega.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/omp-builtins.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/omp-low.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/optabs.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/optabs.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/options.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/opts-diagnostic.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/opts.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/output.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/params.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/params.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/pass-instances.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/pass_manager.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/passes.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/plugin-api.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/plugin-version.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/plugin.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/plugin.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/predict.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/predict.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/prefix.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/pretty-print.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/print-rtl.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/print-tree.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/profile.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/read-md.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/real.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/realmpfr.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/recog.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/reg-notes.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/regcprop.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/regrename.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/regs.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/regset.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/reload.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/resource.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/rtl-chkp.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/rtl-error.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/rtl-iter.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/rtl.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/rtl.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/rtlhash.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/rtlhooks-def.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/safe-ctype.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sanitizer.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sbitmap.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sched-int.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sdbout.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sel-sched-dump.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sel-sched-ir.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sel-sched.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sese.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/shrink-wrap.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/signop.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sparseset.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/splay-tree.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sreal.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ssa-iterators.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/stab.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/statistics.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/stmt.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/stor-layout.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/streamer-hooks.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/stringpool.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/symbol-summary.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/symtab.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/sync-builtins.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/system.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/target-def.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/target-globals.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/target-hooks-macros.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/target.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/target.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/targhooks.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/timevar.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/timevar.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tm-preds.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tm.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tm_p.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/toplev.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/trans-mem.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-affine.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-browser.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-cfg.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-cfgcleanup.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-check.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-chkp.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-chrec.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-core.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-data-ref.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-dfa.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-diagnostic.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-dump.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-eh.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-hasher.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-inline.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-into-ssa.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-iterator.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-nested.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-object-size.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-outof-ssa.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-parloops.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-pass.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-phinodes.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-pretty-print.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-scalar-evolution.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-address.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-alias.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-coalesce.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-dom.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-live.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-loop-ivopts.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-loop-manip.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-loop-niter.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-loop.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-operands.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-propagate.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-sccvn.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-ter.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-threadedge.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa-threadupdate.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssa.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-ssanames.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-stdarg.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-streamer.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree-vectorizer.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tree.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/treestruct.def
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tsan.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/tsystem.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/typeclass.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/typed-splay-tree.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/ubsan.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/valtrack.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/value-prof.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/varasm.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/vec.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/version.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/vmsdbg.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/vtable-verify.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/wide-int-print.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/wide-int.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/xcoff.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/include/xcoffout.h
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/libcc1plugin.0.so
/usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/libcc1plugin.so -> /usr/local/lib/gcc/5/gcc/x86_64-apple-darwin15.0.0/5.3.0/plugin/libcc1plugin.0.so
/usr/local/lib/gcc/5/i386/libasan.2.dylib
/usr/local/lib/gcc/5/i386/libasan.dylib -> /usr/local/lib/gcc/5/i386/libasan.2.dylib
/usr/local/lib/gcc/5/i386/libasan_preinit.o
/usr/local/lib/gcc/5/i386/libatomic.1.dylib
/usr/local/lib/gcc/5/i386/libatomic.a
/usr/local/lib/gcc/5/i386/libatomic.dylib -> /usr/local/lib/gcc/5/i386/libatomic.1.dylib
/usr/local/lib/gcc/5/i386/libcilkrts.5.dylib
/usr/local/lib/gcc/5/i386/libcilkrts.a
/usr/local/lib/gcc/5/i386/libcilkrts.dylib -> /usr/local/lib/gcc/5/i386/libcilkrts.5.dylib
/usr/local/lib/gcc/5/i386/libcilkrts.spec
/usr/local/lib/gcc/5/i386/libgfortran.3.dylib
/usr/local/lib/gcc/5/i386/libgfortran.a
/usr/local/lib/gcc/5/i386/libgfortran.dylib -> /usr/local/lib/gcc/5/i386/libgfortran.3.dylib
/usr/local/lib/gcc/5/i386/libgfortran.spec
/usr/local/lib/gcc/5/i386/libgomp-plugin-host_nonshm.1.dylib
/usr/local/lib/gcc/5/i386/libgomp-plugin-host_nonshm.dylib -> /usr/local/lib/gcc/5/i386/libgomp-plugin-host_nonshm.1.dylib
/usr/local/lib/gcc/5/i386/libgomp.1.dylib
/usr/local/lib/gcc/5/i386/libgomp.a
/usr/local/lib/gcc/5/i386/libgomp.dylib -> /usr/local/lib/gcc/5/i386/libgomp.1.dylib
/usr/local/lib/gcc/5/i386/libgomp.spec
/usr/local/lib/gcc/5/i386/libitm.1.dylib
/usr/local/lib/gcc/5/i386/libitm.a
/usr/local/lib/gcc/5/i386/libitm.dylib -> /usr/local/lib/gcc/5/i386/libitm.1.dylib
/usr/local/lib/gcc/5/i386/libitm.spec
/usr/local/lib/gcc/5/i386/libobjc-gnu.4.dylib
/usr/local/lib/gcc/5/i386/libobjc-gnu.a
/usr/local/lib/gcc/5/i386/libobjc-gnu.dylib -> /usr/local/lib/gcc/5/i386/libobjc-gnu.4.dylib
/usr/local/lib/gcc/5/i386/libquadmath.0.dylib
/usr/local/lib/gcc/5/i386/libquadmath.a
/usr/local/lib/gcc/5/i386/libquadmath.dylib -> /usr/local/lib/gcc/5/i386/libquadmath.0.dylib
/usr/local/lib/gcc/5/i386/libsanitizer.spec
/usr/local/lib/gcc/5/i386/libssp.0.dylib
/usr/local/lib/gcc/5/i386/libssp.a
/usr/local/lib/gcc/5/i386/libssp.dylib -> /usr/local/lib/gcc/5/i386/libssp.0.dylib
/usr/local/lib/gcc/5/i386/libssp_nonshared.a
/usr/local/lib/gcc/5/i386/libstdc++.6.dylib
/usr/local/lib/gcc/5/i386/libstdc++.a
/usr/local/lib/gcc/5/i386/libstdc++.a-gdb.py
/usr/local/lib/gcc/5/i386/libstdc++.dylib -> /usr/local/lib/gcc/5/i386/libstdc++.6.dylib
/usr/local/lib/gcc/5/i386/libstdc++fs.a
/usr/local/lib/gcc/5/i386/libsupc++.a
/usr/local/lib/gcc/5/i386/libubsan.0.dylib
/usr/local/lib/gcc/5/i386/libubsan.dylib -> /usr/local/lib/gcc/5/i386/libubsan.0.dylib
/usr/local/lib/gcc/5/libasan.2.dylib
/usr/local/lib/gcc/5/libasan.dylib -> /usr/local/lib/gcc/5/libasan.2.dylib
/usr/local/lib/gcc/5/libasan_preinit.o
/usr/local/lib/gcc/5/libatomic.1.dylib
/usr/local/lib/gcc/5/libatomic.a
/usr/local/lib/gcc/5/libatomic.dylib -> /usr/local/lib/gcc/5/libatomic.1.dylib
/usr/local/lib/gcc/5/libcc1.0.so
/usr/local/lib/gcc/5/libcc1.so -> /usr/local/lib/gcc/5/libcc1.0.so
/usr/local/lib/gcc/5/libcilkrts.5.dylib
/usr/local/lib/gcc/5/libcilkrts.a
/usr/local/lib/gcc/5/libcilkrts.dylib -> /usr/local/lib/gcc/5/libcilkrts.5.dylib
/usr/local/lib/gcc/5/libcilkrts.spec
/usr/local/lib/gcc/5/libgcc_ext.10.4.dylib
/usr/local/lib/gcc/5/libgcc_ext.10.5.dylib
/usr/local/lib/gcc/5/libgcc_s.1.dylib
/usr/local/lib/gcc/5/libgcc_s_ppc64.1.dylib -> /usr/local/lib/gcc/5/libgcc_s.1.dylib
/usr/local/lib/gcc/5/libgcc_s_x86_64.1.dylib -> /usr/local/lib/gcc/5/libgcc_s.1.dylib
/usr/local/lib/gcc/5/libgfortran.3.dylib
/usr/local/lib/gcc/5/libgfortran.a
/usr/local/lib/gcc/5/libgfortran.dylib -> /usr/local/lib/gcc/5/libgfortran.3.dylib
/usr/local/lib/gcc/5/libgfortran.spec
/usr/local/lib/gcc/5/libgomp-plugin-host_nonshm.1.dylib
/usr/local/lib/gcc/5/libgomp-plugin-host_nonshm.dylib -> /usr/local/lib/gcc/5/libgomp-plugin-host_nonshm.1.dylib
/usr/local/lib/gcc/5/libgomp.1.dylib
/usr/local/lib/gcc/5/libgomp.a
/usr/local/lib/gcc/5/libgomp.dylib -> /usr/local/lib/gcc/5/libgomp.1.dylib
/usr/local/lib/gcc/5/libgomp.spec
/usr/local/lib/gcc/5/libitm.1.dylib
/usr/local/lib/gcc/5/libitm.a
/usr/local/lib/gcc/5/libitm.dylib -> /usr/local/lib/gcc/5/libitm.1.dylib
/usr/local/lib/gcc/5/libitm.spec
/usr/local/lib/gcc/5/libobjc-gnu.4.dylib
/usr/local/lib/gcc/5/libobjc-gnu.a
/usr/local/lib/gcc/5/libobjc-gnu.dylib -> /usr/local/lib/gcc/5/libobjc-gnu.4.dylib
/usr/local/lib/gcc/5/libquadmath.0.dylib
/usr/local/lib/gcc/5/libquadmath.a
/usr/local/lib/gcc/5/libquadmath.dylib -> /usr/local/lib/gcc/5/libquadmath.0.dylib
/usr/local/lib/gcc/5/libsanitizer.spec
/usr/local/lib/gcc/5/libssp.0.dylib
/usr/local/lib/gcc/5/libssp.a
/usr/local/lib/gcc/5/libssp.dylib -> /usr/local/lib/gcc/5/libssp.0.dylib
/usr/local/lib/gcc/5/libssp_nonshared.a
/usr/local/lib/gcc/5/libstdc++.6.dylib
/usr/local/lib/gcc/5/libstdc++.a
/usr/local/lib/gcc/5/libstdc++.a-gdb.py
/usr/local/lib/gcc/5/libstdc++.dylib -> /usr/local/lib/gcc/5/libstdc++.6.dylib
/usr/local/lib/gcc/5/libstdc++fs.a
/usr/local/lib/gcc/5/libsupc++.a
/usr/local/lib/gcc/5/libubsan.0.dylib
/usr/local/lib/gcc/5/libubsan.dylib -> /usr/local/lib/gcc/5/libubsan.0.dylib

Maybe I should only link the bin folder contents, but maybe those assets should not be installed in the first place?

Build fails with -fstack-protector-* in target CFLAGS

today I start useGCC_CONFIG += --enable-libssp.

x86_64-linux-musl-gcc -static-libgcc -static-pie   xtest.c -lz -lm

gdb:

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./a.out...done.
(gdb) r
Starting program:  ./a.out 

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7df57dc in inflateStateCheck ()
(gdb) bt
#0  0x00007ffff7df57dc in inflateStateCheck ()
#1  0x00007ffff7df6e7a in inflateEnd ()
#2  0x00007ffff7df5693 in main () at xtest.c:78

my config.mk

XSTAT = -static --static
XARCH = -march=x86-64 -mtune=generic
XFLAG = -g -Og -mlong-double-64 -fno-plt -DNDEBUG -fomit-frame-pointer -m64
XCPU  = -mmmx -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2 -maes -mavx
XSSP  = -fstack-protector-strong
XMUSL = "${XFLAG} ${XCPU} ${XSSP}"

COMMON_CONFIG += CFLAGS="${XARCH} ${XFLAG} ${XCPU}"
COMMON_CONFIG += CXXFLAGS="${XARCH} ${XFLAG} ${XCPU}"
COMMON_CONFIG += LDFLAGS="${XSTAT}"

COMMON_CONFIG += --disable-nls --disable-lto
GCC_CONFIG += --disable-libquadmath --disable-decimal-float --disable-libitm --disable-fixed-point
GCC_CONFIG += --disable-multilib
GCC_CONFIG += --disable-shared
GCC_CONFIG += --enable-static
GCC_CONFIG += --enable-ld
GCC_CONFIG += --enable-default-pie --enable-static-pie
GCC_CONFIG += --enable-libssp --enable-default-ssp
GCC_CONFIG += --with-long-double-64
GCC_CONFIG += --with-isl
#GCC_CONFIG_FOR_TARGET  += 

MUSL_CONFIG += CFLAGS="${XARCH} ${XMUSL}" CXXFLAGS="${XARCH} ${XMUSL}" LDFLAGS="-s ${XSTAT}"
MUSL_CONFIG += --enable-optimize=yes --disable-shared

I also try remove --enable-default-ssp, add -g0 -O3`, get same error

can not make

[root@0d8c61705653 musl-cross-make-0.9.8]# make
TARGET must be set via config.mak or command line.
make: *** [all] Error 1

Patches don't seem to apply

I'm trying to build arm-linux-musleabihf on ArchLinux (I have not set anything else in config.mak). Target is a Raspberry Pi 2 running AlpineLinux and hence needs a musl compiler. However, I keep getting those error messages, asking for user input:

$ make -j24
case "gcc-9.2.0" in */*) exit 1 ;; esac
case "binutils-2.33.1" in */*) exit 1 ;; esac
case "linux-headers-4.19.88" in */*) exit 1 ;; esac
rm -rf gcc-9.2.0.tmp
rm -rf binutils-2.33.1.tmp
rm -rf linux-headers-4.19.88.tmp
mkdir linux-headers-4.19.88.tmp
( cd linux-headers-4.19.88.tmp && /home/msrd0/git/musl-cross-make/cowpatch.sh -I ../linux-headers-4.19.88.orig )
mkdir binutils-2.33.1.tmp
mkdir gcc-9.2.0.tmp
( cd binutils-2.33.1.tmp && /home/msrd0/git/musl-cross-make/cowpatch.sh -I ../binutils-2.33.1.orig )
( cd gcc-9.2.0.tmp && /home/msrd0/git/musl-cross-make/cowpatch.sh -I ../gcc-9.2.0.orig )
test ! -d patches/linux-headers-4.19.88 || cat patches/linux-headers-4.19.88/* | ( cd linux-headers-4.19.88.tmp && /home/msrd0/git/musl-cross-make/cowpatch.sh -p1 )
test ! -d patches/binutils-2.33.1 || cat patches/binutils-2.33.1/* | ( cd binutils-2.33.1.tmp && /home/msrd0/git/musl-cross-make/cowpatch.sh -p1 )
test ! -d patches/gcc-9.2.0 || cat patches/gcc-9.2.0/* | ( cd gcc-9.2.0.tmp && /home/msrd0/git/musl-cross-make/cowpatch.sh -p1 )
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ur a/generic/include/sound/asound.h b/generic/include/sound/asound.h
|--- a/generic/include/sound/asound.h   2019-10-15 12:26:39.634141383 -0400
|+++ b/generic/include/sound/asound.h   2020-01-30 21:43:56.477450321 -0500
--------------------------
File to patch: can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/gcc/gcc.c b/gcc/gcc.c
|index 4f57765b012..d185c01b257 100644
|--- a/gcc/gcc.c
|+++ b/gcc/gcc.c
--------------------------
File to patch: can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -ur binutils-2.32.orig/bfd/archures.c binutils-2.32/bfd/archures.c
|--- binutils-2.32.orig/bfd/archures.c  2019-01-19 11:01:32.000000000 -0500
|+++ binutils-2.32/bfd/archures.c       2019-05-26 15:09:15.968501965 -0400
--------------------------
File to patch: 
Skip this patch? [y] y
Skipping patch.
16 out of 16 hunks ignored
make: *** [Makefile:137: linux-headers-4.19.88] Error 1
make: *** Waiting for unfinished jobs....
^Cmake: *** [Makefile:137: gcc-9.2.0] Interrupt
make: *** [Makefile:137: binutils-2.33.1] Interrupt

Once I hit enter enough or stop the patch command like above, the build will fail.

Any idea on how to fix that? I guess my pi will be faster at compiling for now, but having a cross compiler could still be useful.

OS X 10.13 build of mips-linux-muslsf fails with (sed: illegal option -- r)

OS X 10.13 build of mips-linux-muslsf fails with (sed: illegal option -- r) at end.
Trying to cross compile in OS X 10.13 to be able to use on a mips based router.

config.mak has the following.
TARGET = mips-linux-muslsf

Please let me know when this has been fixed and I can try recompile it from the source.

===

This is the last part of the script.

touch obj_toolchain/.lc_built
ln -sf "../../../linux-4.4.10" src_kernel_headers
mkdir -p /Users/Daniel/Downloads/musl-cross-make/build/local/mips-linux-muslsf/obj_kernel_headers/staged
cd src_kernel_headers && /Applications/Programming/Xcode.app/Contents/Developer/usr/bin/make MULTILIB_OSDIRNAMES= INFO_DEPS= infodir= ac_cv_prog_lex_root=lex.yy.c MAKEINFO=false ARCH=mips O=/Users/Daniel/Downloads/musl-cross-make/build/local/mips-linux-muslsf/obj_kernel_headers INSTALL_HDR_PATH=/Users/Daniel/Downloads/musl-cross-make/build/local/mips-linux-muslsf/obj_kernel_headers/staged headers_install
CHK include/generated/uapi/linux/version.h
UPD include/generated/uapi/linux/version.h
HOSTCC scripts/basic/fixdep
WRAP arch/mips/include/generated/asm/cputime.h
WRAP arch/mips/include/generated/asm/current.h
WRAP arch/mips/include/generated/asm/dma-contiguous.h
WRAP arch/mips/include/generated/asm/emergency-restart.h
WRAP arch/mips/include/generated/asm/irq_work.h
WRAP arch/mips/include/generated/asm/local64.h
WRAP arch/mips/include/generated/asm/mcs_spinlock.h
WRAP arch/mips/include/generated/asm/mm-arch-hooks.h
WRAP arch/mips/include/generated/asm/mutex.h
WRAP arch/mips/include/generated/asm/parport.h
WRAP arch/mips/include/generated/asm/percpu.h
WRAP arch/mips/include/generated/asm/preempt.h
WRAP arch/mips/include/generated/asm/sections.h
WRAP arch/mips/include/generated/asm/segment.h
WRAP arch/mips/include/generated/asm/serial.h
WRAP arch/mips/include/generated/asm/trace_clock.h
WRAP arch/mips/include/generated/asm/user.h
WRAP arch/mips/include/generated/asm/word-at-a-time.h
WRAP arch/mips/include/generated/asm/xor.h
WRAP arch/mips/include/generated/uapi/asm/ipcbuf.h
HOSTCC scripts/unifdef
INSTALL include/asm-generic (35 files)
sed: illegal option -- r
usage: sed script [-Ealn] [-i extension] [file ...]
sed [-Ealn] [-i extension] [-e script] ... [-f script_file] ... [file ...]
make[5]: *** [/Users/Daniel/Downloads/musl-cross-make/build/local/mips-linux-muslsf/obj_kernel_headers/staged/include/asm-generic/.install] Error 1
make[4]: *** [asm-generic] Error 2
make[3]: *** [headers_install] Error 2
make[2]: *** [sub-make] Error 2
make[1]: *** [obj_kernel_headers/.lc_built] Error 2
make: *** [all] Error 2

toolchain is missing symbols from signal.h

Not sure if this is a toolchain building problem or a MUSL problem, but I can't find a public issue tracker for MUSL so I'll record this here - apologies if this is not the correct place.

I am building an application with the toolchain, and it fails to compile with these errors:

.... : error: ‘SIGEV_THREAD_ID’ was not declared in this scope; did you mean ‘SIGEV_THREAD’?
.... : : error: ‘struct sigevent’ has no member named ‘_sigev_un’

I see these symbols available in x86_64-linux-musl/include/asm-generic/siginfo.h, included in linux/signal.h but that file is not included in signal.h .

Question: can we build armv6 ABI for Alpine Linux using this toolchain

Apologies in advance if it is unrelated. We are trying to figure out how to get armv7-alpine-linux-musleabihf for Alpine Linux ARM32 v7 at https://github.com/dotnet/coreclr/issues/17468. The supported ABI by dotnet runtime atm is v7 for 32 bits and v8 for 64.

Since Alpine Linux armhf only provides armv6-alpine-linux-musleabihf for 32-bits targets (armv6 and armv7 devices), we were hoping to compile it ourselves; if possible.

Is this the right place to start? If not, could you suggest what would be the good place to start (if it is possible at all)?

Thanks!

undefined reference to `std::__atomic_futex_unsigned_base`

Hi,
Not sure it this is musl-cross-make bug or gcc bug, but on arm-linux-musleabihf (I think the same is for other arm builds) at least two symbols are missing from libstdc++:

undefined reference to `std::__atomic_futex_unsigned_base::_M_futex_notify_all(unsigned int*)'
undefined reference to `std::__atomic_futex_unsigned_base::_M_futex_wait_until(unsigned int*, unsigned int, bool, std::chrono::duration<long long, std::ratio<1ll, 1ll> >, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >)'

On x86_64 build both symbols are available:

$ nm x86_64-linux-musl/lib/libstdc++.so.6.0.25 | grep futex
00000000000bbf40 T _ZNSt28__atomic_futex_unsigned_base19_M_futex_notify_allEPj
00000000000bbe50 T _ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS2_IlS3_ILl1ELl1000000000EEEE

On arm:

$ nm arm-linux-musleabihf/lib/libstdc++.so.6.0.25 | grep futex

returns nothing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.