Newer versions of GCC complain:
plt.c: In function 'arch_elf_add_plt_entry':
plt.c:359:3: error: '%s' directive argument is null [-Werror=format-overflow=]
359 | fprintf(stderr, "%s: failed %s(%#llx): %sn", __func__,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
360 | name, addr, strerror(errno));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
add a patch to avoid this error.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Similar to commit ca45a8f9 ("Add -D__GLIBC__ to target CFLAGS") newer
versions of strace bundle the kernel headers which cause build errors
such as:
[ALL ] In file included from /home/x-tool/.build/arm-unknown-linux-musleabi/src/strace/bundled/linux/include/uapi/linux/in6.h:26,
[ALL ] from /home/x-tool/.build/arm-unknown-linux-musleabi/src/strace/bundled/linux/include/uapi/linux/if_bridge.h:19,
[ALL ] from /home/x-tool/.build/arm-unknown-linux-musleabi/src/strace/src/rtnl_mdb.c:16:
[ERROR] /home/x-tool/.build/arm-unknown-linux-musleabi/src/strace/bundled/linux/include/uapi/linux/libc-compat.h:109: error: "__UAPI_DEF_IN6_ADDR_ALT" redefined [-Werror]
[ALL ] 109 | #define __UAPI_DEF_IN6_ADDR_ALT 1
[ALL ] |
[ALL ] In file included from /home/x-tool/.build/arm-unknown-linux-musleabi/src/strace/src/rtnl_mdb.c:15:
[ALL ] /home/x-tool/x-tools/arm-unknown-linux-musleabi/arm-unknown-linux-musleabi/sysroot/usr/include/netinet/in.h:401: note: this is the location of the previous definition
[ALL ] 401 | #define __UAPI_DEF_IN6_ADDR_ALT 0
[ALL ] |
[ALL ] cc1: all warnings being treated as errors
By defining __USE_MISC we get __UAPI_DEF_IN6_ADDR_ALT defined in a
compatible manner.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
sh-multilib-linux-gnu ends up building 8 different libcs. This seems to
be problematic for the github hosted runners as it appears to run them
out of disk space (anecdotally this seems to have gotten worse with the
switch from ubuntu-18.04 to ubuntu-20.04).
Build sh-unknown-elf instead to make sure we cover of the sh
architecture to some degree.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
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>