If existing board's .specs are used for linking of a user's application,
then instead of normally used libs like libc.a & libstdc++.a might be
requested their "nano"-suffixed siblings: libc_nano.a, libstdc++_nano etc.
That way:
----------------------------->8---------------------------
%rename link_gcc_c_sequence myboard_link_gcc_c_sequence
*myboard_libc:
%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano}
*link_gcc_c_sequence:
%(myboard_link_gcc_c_sequence) --start-group %G %(myboard_libc) --end-group
----------------------------->8---------------------------
Our companion newlib-nano libs are all built optimized for size, so we'd like
to use them for linking. But given linker will see "-lc_nano -lstdc++_nano"
on its command line non-suffixed libs will be ignored.
To solve it we create those "_nano"-suffixed libraries as simple symlinks to
existing libs..
Fixes https://github.com/crosstool-ng/crosstool-ng/issues/1458.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
As of today baremetal (AKA "Elf32") & Linux glibc toolchains are even
more important than Linux uClibc one for ARC, so adding them.
We exclude ARC Linux toolchains from Mac buils as it seem to not make
much sense and anyway glibc build for ARC700 fails,
see https://github.com/crosstool-ng/crosstool-ng/pull/1456#issuecomment-779150246
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
As of today ARCompact (AKA "ARCv1 ISA") processors (mostly those are ARC770)
are not officially supported by upstream glibc as it adds quite some burden
on release ans support of yet another "architecture" port.
But given on ABI and ISA front ARCompact is very close to ARCv2 we may
easily retrofit its support off-the-tree, which we do here.
Also given amount of changes we need to apply there's a hope it will be easy
and straight-forward to apply the same to later versions of glibc.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
The kconfig update has pulled in a change creating a top level include/
directory, ignore this from git perspective to avoid mis-committing.
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
Forward ported all local patches from previous glibc release 2.32, they
applied cleanly.
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
Forward ported patches from binutils 2.35.1, refreshed to match current
sources.
Patch 0008-poison-system-directories.patch did not apply clean and had
minor adjustments to fit new binutils 2.36.1 release.
Dropped the following patches as they have been applied upstream:
- 0009-Import-patch-from-mainline-to-fix-decoding-DWARF-inf.patch
- 0010-arm-Fix-the-wrong-error-message-string-for-mve-vldr-.patch
Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
09d5873e4d1f kconfig: allow only 'config', 'comment', and 'if' inside 'choice'
644a4b6cecc2 kconfig: do not assign a variable in the return statement
cfc6eea9f6af kconfig: do not use OR-assignment for zero-cleared structure
Signed-off-by: Chris Packham <judge.packham@gmail.com>
New versions of Kconfig won't allow choices to be nested. Update the
kconfig template accordingly.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
When we have mirrors set to $(CT_Mirror foo bar) we need some extra
escaping so that they get interpreted correctly by kconfig.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
60969f02f07a kconfig: qconf: Fix a few alignment issues
e1f7769f6094 kconfig: qconf: remove some old bogus TODOs
b311142fcfd3 kconfig: qconf: fix support for the split view mode
cce1faba8264 kconfig: qconf: fix the content of the main widget
5752ff07fd90 kconfig: qconf: Change title for the item window
cf497b922386 kconfig: qconf: clean deprecated warnings
dbd35860122b kconfig: remove unused variable in qconf.cc
d198b34f3855 .gitignore: add SPDX License Identifier
2985bed68083 .gitignore: remove too obvious comments
3a9dd3ecb207 kconfig: make 'imply' obey the direct dependency
def2fbffe62c kconfig: allow symbols implied by y to become m
2a86f6612164 kbuild: use KBUILD_DEFCONFIG as the fallback for DEFCONFIG_LIST
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
089b7d890f97 kconfig: Invalidate all symbols after changing to y or m.
5f2fb52fac15 kbuild: rename hostprogs-y/always to hostprogs/always-y
c8fb7d7e48d1 kconfig: fix broken dependency in randconfig-generated .config
ba82f52e2287 kconfig: fix an "implicit declaration of function" warning
a9609686042b kconfig: fix nesting of symbol help text
3460d0bc256a kconfig: distinguish between dependencies and visibility in help text
edda15f21974 kconfig: list all definitions of a symbol in help text
89b9060987d9 kconfig: Add yes2modconfig and mod2yesconfig targets.
c8138a57bbd1 kconfig: use $(PERL) in Makefile
1d1352373ebc kconfig: fix too deep indentation in Makefile
68f0d62746bc kconfig: localmodconfig: fix indentation for closing brace
5edcef8454a4 kconfig: localmodconfig: remove unused $config
adf7c5bd0674 kconfig: squash prop_alloc() into menu_add_prop()
6397d96ba5a5 kconfig: remove sym from struct property
2ffeef615b5e kconfig: remove 'prompt' argument from menu_add_prop()
024352ff8d69 kconfig: move prompt handling to menu_add_prompt() from menu_add_prop()
1be6e791383a kconfig: remove 'prompt' symbol
801b27db4638 kconfig: drop T_WORD from the RHS of 'prompt' symbol
de026ca9152c kconfig: use parent->dep as the parentdep of 'menu'
f64048a20b0c kconfig: remove the rootmenu check in menu_add_prop()
8b41fc4454e3 kbuild: create modules.builtin without Makefile.modbuiltin or tristate.conf
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
272a72103012 kconfig: don't crash on NULL expressions in expr_eq()
46b2afa6890d kconfig: be more helpful if pkg-config is missing
5d8b42aa7ccb kconfig: Add option to get the full help text with listnewconfig
a64c0440dda1 kbuild: Wrap long "make help" text lines
521b29b6ff53 kconfig: split util.c out of parser.y
60bef52c7a68 merge_config.sh: ignore unwanted grep errors
54b8ae66ae1a kbuild: change *FLAGS_<basetarget>.o to take the path relative to $(obj)
1634f2bfdb84 kbuild: remove clean-dirs syntax
cdfca821571d merge_config.sh: Check error codes from make
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
0c5b6c28ed68 kconfig: Clear "written" flag to avoid data loss
8e2442a5f86e kconfig: fix missing choice values in auto.conf
3266c806dc86 kconfig: run olddefconfig instead of oldconfig after merging fragments
e3cd5136a4ec kconfig: remove meaningless if-conditional in conf_read()
baa23ec86092 kconfig: Fix spelling of sym_is_changable
cd238effefa2 docs: kbuild: convert docs to ReST and rename to *.rst
bd305f259cd3 kconfig: make arch/*/configs/defconfig the default of KBUILD_DEFCONFIG
5533397d1ec8 kconfig: add static qualifier to expand_string()
b6f7e9f7050b kconfig: require the argument of --defconfig
e0a2668665a5 kconfig: remove always false ifeq ($(KBUILD_DEFCONFIG,) conditional
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
8dde5715b280 kconfig: tests: fix recursive inclusion unit test
ec8f24b7faaf treewide: Add SPDX license identifier - Makefile/Kconfig
fc2694ec1ab7 kconfig: use 'else ifneq' for Makefile to improve readability
aff11cd983ec kconfig: Terminate menu blocks with a comment in the generated config
9cc342f6c4a0 treewide: prefix header search paths with $(srctree)/
9b9f5948afcd kconfig: make conf_get_autoconfig_name() static
b9d1a8e9302e kconfig: use snprintf for formatting pathnames
4cb726121e2c kconfig: remove useless NULL pointer check in conf_write_dep()
580c5b3e1b8b kconfig: make parent directories for the saved .config as needed
67424f61f813 kconfig: do not write .config if the content is the same
ceb7f3296ea1 kconfig: do not accept a directory for configuration output
65be755a5411 kconfig: remove trailing whitespaces
b63e37bc9ec4 kconfig: Make nconf-cfg.sh executable
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
9c38f1f04408 kconfig/[mn]conf: handle backspace (^H) key
c71bb9f86666 kconfig: remove stale lxdialog/.gitignore
8741908b3e29 kconfig: fix 'Save As' menu of xconfig
058507195b53 kbuild: move ".config not found!" message from Kconfig to Makefile
769a1c022678 kconfig: rename zconf.y to parser.y
981e545a698a kconfig: rename zconf.l to lexer.l
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
2648ca1859bb kconfig: clean generated *conf-cfg files
d86271af6460 kconfig: rename generated .*conf-cfg to *conf-cfg
ba97df45581f kbuild: use assignment instead of define ... endef for filechk_* rules
a5003571e627 kconfig: remove unused "file" field of yylval union
f222b7f43661 kconfig: surround dbg_sym_flags with #ifdef DEBUG to fix gconf warning
3b541978562a kconfig: split images.c out of qconf.cc/gconf.c to fix gconf warnings
9abe42371b44 kconfig: add static qualifiers to fix gconf warnings
cbafbf7f551c kconfig: split the lexer out of zconf.y
558e78e3ce84 kconfig: split some C files out of zconf.y
0c874100108f kconfig: convert to SPDX License Identifier
979f2b2f7936 kconfig: remove keyword lookup table entirely
4b31a32caf0a kconfig: update current_pos in the second lexer
824fa3b3b5e3 kconfig: switch to ASSIGN_VAL state in the second lexer
b3d1d9d3c362 kconfig: stop associating kconf_id with yylval
caaebb3c6de3 kconfig: refactor end token rules
f5451582c4e2 kconfig: stop supporting '.' and '/' in unquoted words
171a515d0803 kconfig: use T_WORD instead of T_VARIABLE for variables
c3d228713b10 kconfig: use specific tokens instead of T_ASSIGN for assignments
ce2164ab5831 kconfig: refactor scanning and parsing "option" properties
3c8f317d4cf1 kconfig: use distinct tokens for type and default properties
a01e5d242d93 kconfig: remove redundant token defines
4b5ec81bfeda kconfig: rename depends_list to comment_option_list
1f31be9ec0a9 kconfig: loosen the order of "visible" and "depends on" in menu entry
94d4e1b6021b kconfig: remove redundant menu_block rule
4891796c6f83 kconfig: remove redundant if_block rule
2f60e46e605a kconfig: remove grammatically ambiguous option_error
6900ae9eeee3 kconfig: remove grammatically ambiguous "unexpected option" diagnostic
723679339d08 kconfig: warn no new line at end of file
0bcc547ec4b0 kconfig: clean up EOF handling in the lexer
cc66bca775ee kconfig: fix ambiguous grammar in terms of new lines
21c5ecf60472 kconfig: refactor pattern matching in STRING state
be3c8075978a kconfig: remove unneeded pattern matching to whitespaces
413cd19d81fd kconfig: require T_EOL to reduce visible statement
fbac5977d81c kconfig: fix memory leak when EOF is encountered in quotation
77c1c0fa8b14 kconfig: fix file name and line number of warn_ignored_character()
0cbe3ac439bf kconfig: remove k_invalid from expr_parse_string() return type
2aabbed6774f kconfig: remove S_OTHER symbol type and correct dependency tracking
1508fec82e39 kconfig: split out code touching a file to conf_touch_dep()
0849d212e395 kconfig: rename conf_split_config() to conf_touch_deps()
75889e9be78f kconfig: remove unneeded setsym label in conf_read_simple()
a9b722847872 scripts/kconfig/merge_config: don't redefine 'y' to 'm'
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
fd65465b7016 kconfig: do not require pkg-config on make {menu,n}config
bc8d2e20a3eb kconfig: remove a spurious self-assignment
9a9ddcf47831 kconfig: suppress "configuration written to .config" for syncconfig
98a4afbfafd2 kconfig: fix "Can't open ..." in parallel build
f498926c47aa kconfig: improve the recursive dependency report
5e8c5299d315 kconfig: report recursive dependency involving 'imply'
f1575595d156 kconfig: error out when seeing recursive dependency
4bf6a9af0e91 kconfig: add build-only configurator targets
1880861226c1 kconfig: remove P_ENV property type
c151272d1687 kconfig: remove unused sym_get_env_prop() function
56869d45e364 kconfig: fix the rule of mainmenu_stmt symbol
00c864f8903d kconfig: allow all config targets to write auto.conf if missing
16952b77d8b5 kconfig: make syncconfig update .config regardless of sym_change_count
79123b1389cc kconfig: create directories needed for syncconfig by itself
adc18acf42a1 kconfig: remove unneeded directory generation from local*config
0608182ad542 kconfig: split out useful helpers in confdata.c
a2ff4040151a kconfig: rename file_write_dep and move it to confdata.c
5accd7f3360e kconfig: handle format string before calling conf_message_callback()
693359f7ac90 kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE
4ab3b80159d4 kconfig: check for pkg-config on make {menu,n,g,x}config
8377bd2b9ee1 kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Upstream changes in the way kconfig handles environment variables means
we need to update our usage of them.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
73d1c580f92b kconfig: loop boundary condition fix
ecd53ac2f2c6 kconfig: handle P_SYMBOL in print_symbol()
b2d00d7c61c8 kconfig: fix line numbers for if-entries in menu tree
8593080c0fcf kconfig: fix localmodconfig
2ae89c7a82ea kconfig: Avoid format overflow warning from GCC 8.1
bb6d83dde191 kbuild: Move last word of nconfig help to the previous line
d6a0c8a1326b kconfig: Add testconfig into make help output
2bece88f89fa kconfig: test: add Kconfig macro language tests
915f64901eb3 kconfig: error out if a recursive variable references itself
a702a6176e2f kconfig: add 'filename' and 'lineno' built-in variables
1d6272e6fe43 kconfig: add 'info', 'warning-if', and 'error-if' built-in functions
82bc8bd82e5c kconfig: expand lefthand side of assignment statement
ed2a22f277c6 kconfig: support append assignment operator
1175c02506ff kconfig: support simply expanded variable
9ced3bddec08 kconfig: support user-defined function and recursively expanded variable
9de071536c87 kconfig: begin PARAM state only when seeing a command keyword
2fd5b09c201e kconfig: add 'shell' built-in function
e298f3b49def kconfig: add built-in function support
137c0118a900 kconfig: make default prompt of mainmenu less specific
5b31a9746756 kconfig: remove sym_expand_string_value()
96d8e48da55a kconfig: remove string expansion for mainmenu after yyparse()
bb222ceeb327 kconfig: remove string expansion in file_lookup()
104daea149c4 kconfig: reference environment variables directly and remove 'option env='
694c49a7c01c kconfig: drop localization support
1c5af5cf9308 kconfig: refactor ncurses package checks for building mconf and nconf
b464ef583dc7 kconfig: refactor GTK+ package checks for building gconf
0b669a5076fd kconfig: refactor Qt package checks for building qconf
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
17baab68d337 kconfig: extend output of 'listnewconfig'
b23d1a241f4e kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically
9a8dfb394c04 kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile
598893002745 .gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore
18492685e479 kconfig: use yylineno option instead of manual lineno increments
379a8eb8eb1a kconfig: detect recursive inclusion earlier
32a94b8b0c3e kconfig: remove duplicated file name and lineno of recursive inclusion
26561514cc9d kconfig: do not include both curses.h and ncurses.h for nconfig
f8f69dc0b4e0 kconfig: make unmet dependency warnings readable
f622f8279581 kconfig: warn unmet direct dependency of tristate symbols selected by y
e2c75e7667c7 kconfig: tests: test if recursive inclusion is detected
29c434f367ea kconfig: tests: test if recursive dependencies are detected
3e4888c2e3d7 kconfig: tests: test randconfig for choice in choice
beaaddb62540 kconfig: tests: test defconfig when two choices interact
ee236610653e kconfig: tests: check visibility of tristate choice values in y choice
930c429a656f kconfig: tests: check unneeded "is not set" with unmet dependency
b76960c0f6b2 kconfig: tests: test if new symbols in choice are asked
49ac3c0c3aa3 kconfig: tests: test automatic submenu creation
1903c5119059 kconfig: tests: add basic choice tests
022a4bf6b59d kconfig: tests: add framework for Kconfig unit testing
2a61625835c7 kconfig: remove redundant streamline_config.pl prerequisite
911a91c39cab kconfig: rename silentoldconfig to syncconfig
81d2bc227305 kconfig: invoke oldconfig instead of silentoldconfig from local*config
2aad9b896213 kconfig: hide irrelevant sub-menus for oldconfig
99f0b6578bab kconfig: remove redundant input_mode test for check_conf() loop
4bb3a5b085cd kconfig: remove unneeded input_mode test in conf()
59a80b5e892d kconfig: do not call check_conf() for olddefconfig
f467c5640c29 kconfig: only write '# CONFIG_FOO is not set' for visible symbols
d9119b5925a0 kconfig: Print reverse dependencies in groups
9a47ceec543b kconfig: clean-up reverse dependency help implementation
07a422bb213a kbuild: restore autoksyms.h touch to the top Makefile
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit introduces the following upstream changes:
5ae6fcc4bb82 kconfig: fix line number in recursive inclusion error message
1a90ce36c6ef kconfig: Update ncurses package names for menuconfig
bf0bbdcf1003 kconfig: Don't leak choice names during parsing
f4bc1eefc160 kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list
cd81fc82b93f kconfig: add xstrdup() helper
523ca58b7db2 kconfig: remove const qualifier from sym_expand_string_value()
d717f24d8c68 kconfig: add xrealloc() helper
9e3e10c72536 kconfig: send error messages to stderr
f3ff6fb5db68 kconfig: echo stdin to stdout if either is redirected
d2a04648a5db kconfig: remove check_stdin()
cd58a91def2a kconfig: remove 'config*' pattern from .gitignnore
4f208f392103 kconfig: show '?' prompt even if no help text is available
cb67ab2cd2b8 kconfig: do not write choice values when their dependency becomes n
1b9eda2e4892 kconfig: Warn if help text is blank
cedd55d49dee kconfig: Remove silentoldconfig from help and docs; fix kconfig/conf's help
1ccb27143360 kconfig: make "Selected by:" and "Implied by:" readable
312ee68752fa kconfig: announce removal of oldnoconfig if used
d0fd0428ecf0 kconfig: fix make xconfig when gettext is missing
b53688014e33 kconfig: Clarify menu and 'if' dependency propagation
9d1a9e8bc18b kconfig: Document 'if' flattening logic
d3465af60f44 kconfig: Clarify choice dependency propagation
3e41ba05b6d6 kconfig: Document SYMBOL_OPTIONAL logic
765f4cdef6f8 kconfig: use default 'yy' prefix for lexer and parser
84dd95d4f87a kconfig: make conf_unsaved a local variable of conf_read()
5a3dc717b3c7 kconfig: make xfgets() really static
52e58a3caeba kconfig: make input_mode static
6479f327dea6 kconfig: Warn if there is more than one help text
b92d804a5179 kconfig: drop 'boolean' keyword
df60f4b92d3d kconfig: Remove menu_end_entry()
0735f7e5def2 kconfig: Document important expression functions
05cccce58045 kconfig: Document automatic submenu creation code
7cf33f88e294 kconfig: Fix choice symbol expression leak
5b1374b3b3c2 kconfig: Fix expr_free() E_NOT leak
ae7440ef0c80 kconfig: Fix automatic menu creation mem leak
0724a7c32a54 kconfig: Don't leak main menus during parsing
bc28fe1d5ede kconfig: Don't leak 'option' arguments during parsing
24161a6711c9 kconfig: Don't leak 'source' filenames during parsing
26e47a3c11a2 kconfig: Don't leak symbol names during parsing
29c833061c1d kconfig: generate lexer and parser during build instead of shipping
e3b03bf29d6b kconfig: display recursive dependency resolution hint just once
f77850d3fe0c kconfig: Clean up modules handling and fix crash
fa8cedaef814 kconfig: Clarify expression rewriting
9a826842ff2f kconfig: Rename menu_check_dep() to rewrite_m()
c873443430eb kconfig: Sync zconf.y with zconf.tab.c_shipped
52aede4ba5ef kconfig: Document the 'symbol' struct
33ca1a248663 kconfig: Document the 'menu' struct
2c37e08464a8 kconfig: Warn if choice default is not in choice
Signed-off-by: Chris Packham <judge.packham@gmail.com>
This has gone unnoticed for a while, it looks like all configurations
have probably been using the default floats behaviour. Newer kconfig
tells us the default value is not in the choice so lets fix this in
preparation.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Kconfig now complains when we have a help section with no text. If there
is nothing in @@help@@ don't output a `help` section.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Include the gnuprumcu package in PRU cross toolchain.
Toolchain is somewhat useless without device specs and
linker scripts for the various SoCs.
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
Add sample configuration for building cross toolchain for the TI PRU.
PRU cores are present in many of the BeagleBone single board computers.
More information about the PRU can be found in https://bbb.io/pru
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
This allows building newlib-nano in addition to newlib and picolibc,
allowing users to select between C libraries within the same toolchain.
Signed-off-by: Keith Packard <keithp@keithp.com>
This adds another mode to do_gcc_core_backend that builds libstdc++
against an alternate libc implementation.
Signed-off-by: Keith Packard <keithp@keithp.com>