Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #689 from stilor/add-mds
Doc renames & issue template
- Loading branch information
Showing
4 changed files
with
113 additions
and
23 deletions.
There are no files selected for viewing
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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++? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters