On mer., oct. 16, 2024 at 17:06, Dmitry Rokosov <ddrokosov@...> wrote:
[...]
I just run build on the my x86 Ubuntu machine.
$ cd uboot $ make mproper $ make sandbox_defconfig $ make -j$(nproc)
I tried these commands: Here is the successfull build output:
I use: $ ~/work/upstream/u-boot-dfu/ dmitry/ab-dump-v3* gcc --version gcc (GCC) 14.2.1 20240912 (Red Hat 14.2.1-3) Copyright (C) 2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ ~/work/upstream/u-boot-dfu/ dmitry/ab-dump-v3* ld --version GNU ld version 2.41-37.fc40 Copyright (C) 2023 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty.
What toolchains do you use?
By default, my machine, which I typically use for cross-compilation, has an outdated toolchain version:
$ gcc --version gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ ld --version GNU ld (GNU Binutils for Ubuntu) 2.30 Copyright (C) 2018 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty.
Thank you for sharing. that looks indeed very old and would explain why we see different results when building sandbox.
According to this commit [1], you should use gcc 13.0.2 at least Would it be possible to update?
[1]
That's all.
I've already sent the v4 patch with #ifdef. I can prepare the v5 patch using the IS_ENABLED() macro and will aim to send it today.
But I have one question:
Do we really want to display the ab_select and ab_dump subcommands to users if these commands are just stubs? Perhaps we should consider adding #ifdef directives to the subcommand arrays.
That's a valid concern. I don't think we should display the ab_select and ab_dump commands to the users but I still want to have IS_ENABLED wherever possible to keep the code simple.