summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
l---------LICENSE (renamed from LICENSES)0
-rw-r--r--TODO128
-rw-r--r--issue_template.md6
-rw-r--r--scripts/xldd.in2
4 files changed, 113 insertions, 23 deletions
diff --git a/LICENSES b/LICENSE
index d24842f..d24842f 120000
--- a/LICENSES
+++ b/LICENSE
diff --git a/TODO b/TODO
index ddbd4f0..06f353b 100644
--- a/TODO
+++ b/TODO
@@ -1,24 +1,108 @@
-This is a somewhat ordered TODO list:
+A (slightly) ordered set of tasks for crosstool-NG. Written in a cryptic language; contact me if you want to help with any of these :)
-Recurring tasks:
+-- Alexey Neyman (@stilor)
-- update versions for every tools...
-
-- update and/or upgrade all samples
-
-
-Non-recurring tasks:
-
-- update newlib (for enhanced bare metal)
- - try to make it generic, will help for uClibc++
-
-- multilib
-
-- Cygwin target (needs newlib)
- - so we can build toolchains that generate code for Windows/Cygwin
-
-- uClibc++
- - see newlib, above
-
-- uClinux
- - check whether we can use newlib under uClinux (?)
+[ ] FreeBSD
+ [ ] Use 'cc' rather than 'gcc' on the host
+ [ ] Detect in configure what the default value is
+ [ ] Allow passing via CC=... to ct-ng
+ [ ] Same for ar/ld/ranlib/whatever we're using
+ [ ] Same for other utilities (patch, python, ...)
+ [ ] Allow using BSD patch
+ [ ] Set up 3 testing VMs: plain (using clang), using default 'gcc', using 'gcc6'
+[ ] GDB7.1 build fails on macOS
+ [ ] need 'cpp' in the list of symlinked tools
+ [ ] still fails at link due to multiple definitions of BC/UP/PC
+[ ] mingw.sh: create a hook for "pre-checks" for all libcs
+ [ ] move CT_DoMultilibList to this new hook?
+[ ] go over all config options and evaluate their applicability to cross/canadian/cross-native (i.e. WANTS_STATIC_LINK does not have to test build's support for static link)
+[ ] Remove per-arch patching (this makes .build/src non-sharable between builds!)
+[ ] Update "Internals" chapter in the docs to match current state
+[ ] Integrate openrisc support
+[ ] Re-enable shared libraries - can it be done without wrapper scripts, e.g. via rpath?
+[ ] 'ct-ng' source to disregard FORBID_DOWNLOADS and to avoid clobbering .build and build.log
+[ ] Restore blackfin/fdpic support?
+[ ] Install bash completion script - are there any default locations for it?
+[ ] Do we need "HACK: we need to override SHLIB_LC from gcc/config/t-slibgcc-elf-ver" block in 100-gcc.sh? We do create a dummy libc.so
+[ ] Follow up on -static -Wl,--dynamic-list=... weirdness
+[ ] xldd.in
+ [ ] Deduce root from the location of the script itself by default + option for multiroot selection (e.g. for SH)
+ [ ] Handle CT_LD_LIBRARY_PATH in lieu of LD_LIBRARY_PATH
+ [ ] Handle AT_SECURE
+ [ ] Handle DT_RPATH/DT_RUNPATH separately (they have different priority vs LD_LIBRARY_PATH)
+ [ ] Handle default ld_library_path after ld.so.conf cache
+[ ] Add optional removal of .build/src as part of build-all
+[ ] Add removal of non-precious toolchains (i.e. those that are not needed for canadian)
+ [ ] Or remove all *when* they are no longer needed?
+[ ] GMP select the right CC when not cross-compiling (https://github.com/crosstool-ng/crosstool-ng/pull/627)
+[ ] Default to arch=i686 on x86
+[ ] Run ct-ng oldconfig at the start, or detect if a different version of ct-ng has been used?
+[ ] Move fetching config.guess/config.sub to scripts/functions to use common wget/curl wrappers
+ [ ] Allow auto-update as part of the build
+ [ ] Do they have versions? Is it possible to request a specific version?
+[ ] Separate 'make check' for companion libs and companion tools?
+[ ] gettext - test internationalization
+ [ ] seems the DB is hardcoded into .build/<TARGET>/... location - is it possible to make it relocatable?
+ [ ] add passthrough to configure, for host/target
+[ ] Read/spellcheck configs & scripts
+[ ] 'ct-ng olddefconfig'
+[ ] Install config.gen so that it is not rebuilt in the installed configurations
+[ ] Install a "trap" C++ compiler as ${CT_TARGET}-g++ during pass-1/pass-2 to trap attempts to compile target code with g++ (currently glibc detects host g++ and warns that it uses g++ w/o target triplet)
+ [ ] Somehow it needs to be functional during the configure step - export env var while running in CT_DoExecLog with CFG level, and forward it to host compiler?
+[ ] elf2flt not compatible with multiple linkers enabled in binutils (ld.bfd + ld.gold) - fix upstream?
+[ ] Companion libs
+ [ ] Group options into submenus
+ [ ] Allow building [companion] target libs (and tools, like gdbserver or native gdb or strace) for all multilibs
+ [ ] Install companion libs into a multi-os-directory for the default multilib
+ [ ] Perhaps remove the distinction between multi_os_dir/multi_os_dir_gcc and use gcc-reported dir always, and rely on "demultilib" to combine them if possible
+[ ] Check for python-devel to enable cross-gdb python bindings
+[ ] Common location for sources provided by ctng - duma.in, gdbinit.in, uclibc{,-ng}-config.in ...
+[ ] CTNG_LD_IS=bfd has no effect on subsequent build steps, as each step runs in its own environment
+[ ] Enable other languages in some sample(s):
+ [ ] Ada (?) - requires gnatbind/gnatmake on the host
+ [X] Seems to build
+ [ ] Try to run
+ [ ] Obj-C/C++
+ [X] Seems to build
+ [ ] Try to run - seems to crash, need to investigate
+ [ ] Go
+ [ ] Fix the build
+ [ ] Try to run
+[ ] #516 Building with GO support fails
+[ ] #521 gccgo - i586-unknown-linux-gnu - fails on missing version.go
+[ ] Smoke-test test suite - whatever is supported by a particular toolchain
+ [ ] Compile baremetal, shared, static, static-libgcc, static-libstdc, C++, Fortran, Ada, Obj-C, Obj-C++, multilibs
+[ ] Disallow libc selections that cannot handle the arch (e.g. aarch64-*-uclibc, aarch64-*-musl, ...)
+[ ] Support removal of .build/<TARGET>/build after each step (to save space while compiling in a VM; and to test restartability - since this directory is lost after restart)
+[ ] Configure enhancements
+ [ ] What is --host= in ct-ng's configure used for? should it set the default canadian cross?
+ [ ] CFLAGS/LDFLAGS from configure should probably be added into default build flags
+ [ ] Move tool checks from configure to runtime (i.e. if xz was installed after crosstool-ng, it should be usable)
+ [ ] Check for companion libs and allow using host's libraries for native/cross (need to check if the host has them) - but allow them to be selected for build
+[ ] Merge aggregator scripts like cc.sh, debug.sh etc
+[ ] #534 Merge gcc backends in 100-gcc.sh
+ [ ] Currently some options (e.g. plugins) are not supported in core backend, hence aren't available on baremetal configurations
+[ ] Support clang
+[ ] Generate per-package version Kconfig fragments, and include them
+ [ ] Add a script to poll for new releases
+[ ] Install a single lib/ directory with all the stuff needed - scripts, makefile fragments, etc
+ [ ] Separate maintainer's scripts from the scripts used by crosstool-ng itself
+ [ ] Commit testing.py to the new maintainer's dir
+ [ ] Add an ability to do a single run of testing.py? or just use build-all, when the branch for separate canadian install is done
+[ ] Extensibility to allow custom kernel headers and/or libc
+[ ] Support elfkickers
+[ ] Make cross-native toolchain non-experimental
+ [ ] Rework dependency order to suit xnative toolchain too
+[ ] Make native/cross-native toolchain non-experimental
+ [ ] Pick up libc from host for native
+ [ ] Optimize steps to not require simple-cross for cross-native
+[ ] Make supplemental commands like show-config leave .config and .build alone
+[ ] Test populate script
+[ ] 3rd party extensions to GCC
+ [ ] GHDL seems to be active and supports GCC6
+ [ ] COBOL? Cannot find which GCC version they need [http://cobolforgcc.sourceforge.net/]
+ [ ] At the very least they have an awesome guide to GCC internals: http://cobolforgcc.sourceforge.net/cobol_14.html; might just as well reference it in our docs
+ [ ] Modula-2 supports GCC 4.7 as the latest
+ [ ] Resurrect GCC4.7?
+[ ] readelf: DWARF parser does not handle DW_CFA_remember_state/DW_CFA_restore_state
+[ ] Support uClibc++?
diff --git a/issue_template.md b/issue_template.md
new file mode 100644
index 0000000..b65609d
--- /dev/null
+++ b/issue_template.md
@@ -0,0 +1,6 @@
+### Issue submission guidelines
+See [detaled guidelines](http://crosstool-ng.github.io/support/). In short:
+- Report crosstool-NG version
+- Report host OS and its version
+- Attach `.config` (unless the issue is not related to any configuration)
+- Attach `build.log` (unless crosstool-NG fails before the build starts)
diff --git a/scripts/xldd.in b/scripts/xldd.in
index 1cd91fb..8089426 100644
--- a/scripts/xldd.in
+++ b/scripts/xldd.in
@@ -46,7 +46,7 @@ ldd (crosstool-NG) ${version}
Copyright (C) 2010 "Yann E. MORIN" <yann.morin.1998@free.fr>
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-Licensed under the GPLv2, see the file LICENSES in the top-directory of the
+Licensed under the GPLv2, see the file LICENSE in the top-directory of the
sources for this package.
_EOF_
}