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>
Use LIBC_PICOLIBC_CXA_ATEXIT to keep this name in the same 'namespace'
as the other picolibc config names.
Enable retargetable locking by default. This allows the few locks in
picolibc to be implemented by the execution environment, rather than
disabling the locking code.
Signed-off-by: Keith Packard <keithp@keithp.com>
1. Allows picolibc's stdio to be used with c++ applications
2. Includes arm exception information in link rules
3. Adds picolibc include directory to c++ header paths.
These patches are all upstream in picolibc and included in version
1.5.
Signed-off-by: Keith Packard <keithp@keithp.com>
Currently when building cross-canadian toolchain for macOS
the folowing error happens when GCC is configured:
|ld: illegal text-relocation to '___gmp_binvert_limb_table' in
|... /.build/... /buildtools/complibs-host/lib/libgmp.a(mp_minv_tab.o) from '___gmpn_divexact_1' in
|... /.build/... /buildtools/complibs-host/lib/libgmp.a(dive_1.o)
|collect2: error: ld returned 1 exit status
Apparently this might be solved with GMP configured with "--with-pic",
even though we're talking about static library here.
That solution was found here:
https://github.com/Homebrew/homebrew-core/pull/25470
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Even though GCC as a compiler has nothing to do with a C library
being used it still makes sense to know about Newlib's compact
implementation of IO functions:
* For targets like MSP430 which require to have such a tuned
Newlib if "-mtiny-printf" is passed to the GCC's command-line [1]
* For correct compilation of the following GCC's own DejaGnu tests [2]:
- gcc/testsuite/gcc.c-torture/execute/920501-8.c
- gcc/testsuite/gcc.c-torture/execute/930513-1.c
- gcc/testsuite/gcc.dg/torture/builtin-sprintf.c
- gcc/testsuite/gcc.c-torture/execute/ieee/920810-1.x
[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=02afb6a9321fbfb435452636cedc2cd43f0c4fd2
[2] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=571bbd0d48d5872eacbd0b681fce6e1ae754520b
So we add that missing cross-dependency now.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
ftp://invisible-island.net/ncurses doesn't actually have the numbered
ncurses tarball. We've not noticed because we fall back to using the GNU
mirror which does. It's also ftp which is being deprecated.
Switch to https://invisible-mirror.net/archives/ncurses which has the
actual tarballs and provides a secure connection.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
If we are targetting an aarch64-none-elf toolchain we end up running
into a build issue in gcc/config/aarch64/driver-aarch64.c. This is
fixed in upstream gcc so just backport the patch to gcc-10.2.0
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Pull in a change from upstream GCC and one from the gcc-darwin-arm64
repo that gets an initial cross compiler building on ARM based Mac.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Update to GMP 6.2.1 for MacOS ARM support and pull in one patch
from repo that deal with a possible issue with GMP on MacOS ARM
systems.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This commit adds support for the following Oracle products, in order
to target Oracle Linux 7.9:
Binutils 2.27-44.base.0.400
GCC 4.8.5-44.0.5
glibc 2.17-317.0.3
UEK5/u4 4.14.35-2025.400.8
Sample configuration files are provides for the following triplets:
arm-ol7u9-linux-gnueabi
arm-ol7u9-linux-gnueabihf
Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
Set the origin of the Linux tarballs to www.kernel.org in order to avoid
getting an empty string in menuconfig.
Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
[cp: use kernel.org]
Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Do not assume a release has a tarball if src_release is set to "n".
* Do not assume versions in repositories are all experimental.
* Allow versions to define their default repository_branch,
repository_cset, repository_subdir and bootstrap.
* Do not expect mirrors, archive_filename, archive_dirname,
archive_formats and signature_format from a version if src_release
is set to "n".
* Add version_number to allow version names to be different than the
version number. When given, use version_number to compare against
the milestones.
Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>