Commit Graph

3523 Commits

Author SHA1 Message Date
Alexey Neyman
6744ff68e4 Do not log state saving/restoring as ERROR.
These are not errors.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:26:46 -08:00
Alexey Neyman
2541bd0b11 Remove redundant configure options.
-mcpu= and -msoft-float are added due to ARCH_* flags, and correctly
passed down to libstdc build.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:21:45 -08:00
Alexey Neyman
57dc5e69d2 Remove --disable-libsanitizer.
It is now added automatically if CT_GCC_SANITIZER is not set - and that
option depends on !UCLIBC.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:21:44 -08:00
Alexey Neyman
10c0f278e9 Switch to using EV67 in alphaev67-*.
It does not make much sense to have alphaev67 example use -mcpu=ev67,
does it?

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:21:44 -08:00
Alexey Neyman
379331986d More trivial sample updates.
Drop ARCH_ARCH/ARCH_TUNE where it is overridden by ARCH_CPU. Also, same
updates as in the previous batch for architectures with
!ARCH_EXCLUSIVE_WITH_CPU (i.e. where there is no need to drop
ARCH_CPU/ARCH_TUNE).

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:04:55 -08:00
Alexey Neyman
bb704f532a Allow --with-cpu/--with-tune for !arm.
The configure error mentioned in the commits that disable
--with-arch/--with-tune when --with-cpu is specified is specific to ARM
builds. For other architectures, it makes sense (hey, it even makes
sense for ARM - read 'info gcc'! - it is just a shortcoming of ARM
build, apparently).

Thus, add an arch setting ARCH_EXCLUSIVE_WITH_CPU (currently, set only
for ARM) that will trigger current behavior. Permit combinations of
--with-arch/cpu/tune for other arches.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:04:55 -08:00
Alexey Neyman
8a07253fa0 Use $* to simplify rules in samples.mk.
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:03:35 -08:00
Alexey Neyman
f7d6e53e2b Add update-samples target.
Same as check-samples, but actually updates the crosstool.config.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-14 15:03:35 -08:00
Bryan Hundven
6c0e31be34 Merge pull request #256 from bhundven/samples_update
Samples: Update samples
2015-11-14 14:34:42 -08:00
Bryan Hundven
5c0ce60a50 Merge pull request #257 from bhundven/libtinfo_check
configure: Check for libtinfo.so
2015-11-14 14:34:34 -08:00
Bryan Hundven
ebb0df619e configure: Check for libtinfo.so
While usually distributed with ncurses, some distributions distribute
this library separately. Check to make sure it is installed.

This closes #241

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-14 14:29:11 -08:00
Bryan Hundven
b54d55c843 Samples: Update samples
This commit updates samples to latest config/ changes.

This closes #114

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-14 11:30:03 -08:00
Alexey Neyman
847d1d8abf Update new companion libs with *_for_target.
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:34:13 -08:00
Alexey Neyman
be2203be68 Pass CFLAGS/LDFLAGS to backends.
Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:32:26 -08:00
Alexey Neyman
16f7a9578f Clean up 300-gdb.sh a bit.
Now that expat/curses have migrated into separate script, no need for
do_debug_gdb_parts() and need_gdb_src checks.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:32:26 -08:00
Alexey Neyman
4d2d2ba954 Enable building expat/ncurses for host.
Then re-enable cross-gdb for nios2-spico-elf sample, previously
disabled.
2015-11-13 10:31:46 -08:00
Alexey Neyman
6102726147 Change ncurses to a companion library.
Currently, builds for build and target (matching the current
implementation). Need to add building for host for canadian crosses.

TIC_PATH is removed - configure in ncurses searches $PATH, so it finds
'tic' in buildtools anyway. Arguably unneeded code for MacOS also
removed, with a FIXME comment for validation by someone using MacOS.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:31:46 -08:00
Alexey Neyman
ac7ce38475 Convert expat for target into a companion lib.
Expat-for-host to be done.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:28:44 -08:00
Alexey Neyman
6f7e6b9969 Build companion libs for target.
Currently, only libelf has a for-target step - but it generalizes
the step to hook other libraries into this step.

Signed-off-by: Alexey Neyman <stilor@att.net>
2015-11-13 10:24:22 -08:00
Bryan Hundven
e78251b751 Merge pull request #253 from jcmvbkbc/xtensa-for-mainline-20151113
Add support for Xtensa architecture
2015-11-13 01:47:08 -08:00
Max Filippov
d1578acf3c Add xtensa-unknown-linux-uclibc to Travis build
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-11-13 12:29:30 +03:00
Max Filippov
18dfc4871d samples: add xtensa-unknown-linux-uclibc config
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-11-13 12:27:11 +03:00
Bryan Hundven
c96d5df186 Merge pull request #254 from bhundven/not_executable
file modes: Set files to be non-executable
2015-11-12 23:21:27 -08:00
Bryan Hundven
e4bb360748 file modes: Set files to be non-executable
I was going to start doing some autoconf work, and noticed that
configure.in was executable. Then I noticed Makefile.in was executable.

o.O

So, I ran ```find . -type f -executable``` and found a bunch of files
that shouldn't be set executable.

This commit makes them normal files again.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 23:18:04 -08:00
Max Filippov
6717dbfd3f gdb: add xtensa-specific patches for 7.10
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-11-13 09:08:54 +03:00
Max Filippov
9af5ff74ef gcc: add xtensa-specific patches for 5.2.0
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-11-13 09:08:53 +03:00
Max Filippov
3a659bb198 binutils: add xtensa-specific patches for 2.25.1
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-11-13 09:08:53 +03:00
Chris Zankel
81328ed1cb xtensa: add support for the configurable Xtensa architecture.
The Xtensa processor architecture is a configurable, extensible,
and synthesizable 32-bit RISC processor core. Processor and SOC vendors
can select from various processor options and even create customized
instructions in addition to a base ISA to tailor the processor for
a particular application.

Because of the configurability, the build process requires one additional
step for gcc, binutils, and gdb to update the default configuration.
These configurations are packed into an 'overlay' tar image, and are
simply untarred on top of the default configuration during the build.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2015-11-13 09:08:53 +03:00
Bryan Hundven
57de8dcf22 Merge pull request #239 from diorcety-ctng/cc-cygwin-mingw-linux
Canadian cross build = x86_64 Cygwin host = x86_64 MinGW_W64 target = x86_64 GNU/Linux
2015-11-12 21:50:31 -08:00
Bryan Hundven
4c9218d51d Merge pull request #245 from villytiger/install-strip
Use install-strip target for gcc optionally
2015-11-12 21:50:08 -08:00
Bryan Hundven
b9902e788d Merge pull request #252 from bhundven/kconfig-4.4
kconfig: Add updates from linux-4.3 and 4.4
2015-11-12 21:49:46 -08:00
Bryan Hundven
377493fc5d Merge pull request #221 from bhundven/uclibc-ng
Add support for uClibc-ng
2015-11-12 21:46:34 -08:00
Bryan Hundven
adcf4ec7e6 travis-ci: Update samples to be more diverse
We still need to add some cross-canadian and more musl-libc samples.
But this is a start.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 21:45:03 -08:00
Bryan Hundven
5e16edbea8 gcc: Sync patches with buildroot
This commit sync gcc patches with buildroot.
I found this useful for fixing a few uClibc related issues.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 21:44:44 -08:00
Ray Donnelly
5f3774cd65 Cygwin: Add documentation
There's a lot that can go wrong if you stray from
the path.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:47 +00:00
Ray Donnelly
4f3310cf03 Samples: Add x86_64-w64-mingw32,x86_64-pc-linux-gnu
Tested on build machines of x86_64-pc-cygwin and x86_64-unknown-linux-gnu

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:46 +00:00
Ray Donnelly
06855ab27e libtool: Update to 2.4.6 and patch for Cygwin
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:46 +00:00
Ray Donnelly
9e81836b81 Add gettext and libiconv as companion libs
.. they're needed for the RPC generation in glibc
on both Cygwin and MinGW-w64.

Neither are built on GNU/Linux and iconv is not
built on Darwin.

Two patches for gettext are needed, one so that
-O0 works and one so that static builds can be
made.

They can take a good while to build, so if not
needed for_host or for_build then they are not
built.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:45 +00:00
Ray Donnelly
f9968501ee glibc: Cygwin doesn't have stat64
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:45 +00:00
Ray Donnelly
9ef1750f3c MinGW-w64: winpthreads doesn't have pthread_mutexattr_settype
It's only used as a hint, so excluding it shouldn't cause any problems.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:44 +00:00
Ray Donnelly
58e32a7319 Cygwin: Define R_X86_64_JUMP_SLOT
This should be upstreamed to Cygwin ideally.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:44 +00:00
Ray Donnelly
2cf7a83fde Cygwin: Link to libintl for gettext
Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:43 +00:00
Ray Donnelly
ada8ae30a8 Add help2man as PROGS_REQ and to travis
libtool needs it.

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:43 +00:00
Ray Donnelly
df02517fd7 binutils: Don't link to libfl as it's unnecessary
AM_PROG_LEX sets this for some weird reason; it should
look for a program only and not a library.  Then later
it gets linked to ar, ranlib, dlltool, windres, windmc
and itbl-test despite nothing in the code #include'ing
FlexLexer.h

This isn't a big deal but it did cause a build failure
on Cygwin as it triggered a bug with their flex package
dependencies which I reported at:

https://www.cygwin.com/ml/cygwin/2015-10/msg00433.html

Arguably I should remove all traces of LIBLEX in each
Makefile.am instead?

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:43 +00:00
Ray Donnelly
3c95e3492a binutils: Fix typo
pthread_mutextattr_settype -> pthread_mutexattr_settype
.. I'm not sure why this didn't fail everywhere, unless
no one has tried to build gold?

Signed-off-by: Ray Donnelly <mingw.android@gmail.com>
2015-11-13 02:17:42 +00:00
Bryan Hundven
972c03d7f1 samples: Update samples to use default uClibc-ng config
This commit removes per-sample configuration files for uClibc and falls
back to using the default config file in contrib/uClibc-defconfigs.

Only one sample is broken:

* powerpc-unknown-linux-uclibc
  * breaks on dmalloc

I will come back and work on the dmalloc failure later, but I don't want it to
hold up getting uClibc-ng out in ct-ng.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:41 -08:00
Bryan Hundven
a173dfa939 uClibc: Fall back to default configs if not provided
I've added the .config files to contrib/uClibc-defconfigs from buildroot
to use as default configs if they are not provided in the sample.

If a particular architecture really needs an option set, it should be
either updated in the manange_uClibc_config function in
scripts/build/libc/uClibc.sh or a custom ${uclibc_name}.config should be
added to the sample (usually via `ct-ng saveconfig`).

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:41 -08:00
Bryan Hundven
21a448516e uClibc: Add support for uClibc-ng
This commit adds uClibc-ng 1.0.8.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:41 -08:00
Bryan Hundven
1c924f06fa uClibc: rewrite mungeuClibcConfig to manage_uClibc_config
This commit updates uClibc to use the new CT_Kconfig options from the
previous commit. The older sed method of sanity checking the uClibc
.config was error prone and clumsy.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:41 -08:00
Bryan Hundven
c4d14a97ad functions: Add global functions for manipulating kconfig options
This commit adds 4 new functions to aid in the process of managing a
kconfig .config file:

* CT_KconfigSetOption <option> <value> <file>
* CT_KconfigEnableOption <option> <file>
* CT_KconfigDisableOption <option> <file>
* CT_KconfigDeleteOption <option> <file>

(akin to how buildroot manages the uClibc.config)

These functions are global so that we can manage any component that also
uses kconfig, or to be able to use it internally on Crosstool-NG's
kconfig files.

Last but not least, be consistent and update sed to be ${sed}!

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-11-12 16:15:39 -08:00