Resolved: it turned out that this issue is indeed new GNU Make
-related and could be fixed by applying [1] commit to the older git
revisions. There's also a [2] commit nearby that also mentions GNU
Make, but I didn't need it yet ;-) Below I am also sharing a list
([3]-[7]) of other changes that I have to do sometimes, might be
useful for anyone else digging out this old stuff

[1]  "Makefile.inc: Adapt $(spc) definition"
(0f6f70c3942c152c512b1aa51b6f6079a05e003b)
https://github.com/coreboot/coreboot/commit/0f6f70c3942c152c512b1aa51b6f6079a05e003b

[2] "Makefile.inc: Use `define` for cbfs-files-processor-defconfig"
(1c08a9a9c4986f2b3c47322f041e289121536dc0)
https://github.com/coreboot/coreboot/commit/1c08a9a9c4986f2b3c47322f041e289121536dc0

[3] GCC 8.1.0 build errors like "'isl_id_free' was not declared in this scope"
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86724#c0
(add  #include <isl/id.h> and #include <isl/space.h> to
./util/crossgcc/gcc-8.1.0/gcc/graphite.h)

[4] Binutils 2.30 - ‘string’ in namespace ‘std’ does not name a type
https://sourceware.org/legacy-ml/binutils/2019-06/msg00072.html
(add #include <string>)

[5] IASL 20190703 - multiple definition of `AslCompilerlval'/'LexBuffer'
https://github.com/illumos/illumos-gate/commit/830ec39e9a3d673fcf5865875006ab471d56b85b
("extern YYSTYPE AslCompilerlval;" at
./util/crossgcc/acpica-unix2-20190108/source/compiler/aslcompiler.l ;
"static YY_BUFFER_STATE LexBuffer;" at dtparser.l and prparser.l)

[6] ./coreboot/util/cbfstool/common.c - error: '%s' directive argument
is null [-Werror=format-overflow=]
- is fixed by changing
printf(" %s%c", filetypes[i].name, (i==(number-1))?'\n':',');
to
printf(" %s%c", filetypes[i].name ? filetypes[i].name : "null",
(i==(number-1))?'\n':',');

[7] ./util/crossgcc/xgcc/bin/i386-elf-ld.bfd Error: unable to
disambiguate: -nostartfiles (did you mean --nostartfiles ?)
- fixed by "Makefile.inc: Replace linker flag -nostartfiles with
--nmagic" (at LDFLAGS_common)
https://github.com/coreboot/coreboot/commit/b90aba43c1405d3d2cb7cba05e68906e979dcda3

On Wed, Jul 30, 2025 at 10:00 AM Mike Banon <mikeb...@gmail.com> wrote:
>
> While trying to build the ancient (<=4.11) versions of coreboot for
> research purposes, I get
>
>     CC         romstage/superio/winbond/common/early_init.o
>     LINK       cbfs/fallback/romstage.debug
>     OBJCOPY    cbfs/fallback/romstage.elf
> make: *** No rule to make target '".car.data"', needed by
> 'build/coreboot.pre'.  Stop.
>
> because of the following Makefile.inc line:
>
> $(CONFIG_CBFS_PREFIX)/romstage-options := -S ".car.data"
>
> If I comment out this line, I get "No rule to make target '-P'" because of
>
> $(CONFIG_CBFS_PREFIX)/romstage-options += -P $(CONFIG_XIP_ROM_SIZE)
>
> If I comment out this too, everything goes well until the final
> coreboot.rom assembly stage, where a cbfstool prints "E: Encountered
> illegal degenerate region name in -r list" and deletes my coreboot.rom
>
> However, " $(CONFIG_CBFS_PREFIX)/romstage-options += --xip " is fine
> and doesn't cause any problems...
>
> Please tell, why these errors are happening now and not before? My
> host's GNU make --version is 4.4.1, but I tried everything down to 4.3
> and still can't properly get rid of these errors (unfortunately can't
> use 4.2.1 because it gives a segmentation fault on new Linux)
> --
> Best regards, Mike Banon
> Open Source Community Manager of 3mdeb - https://3mdeb.com/



-- 
Best regards, Mike Banon
Open Source Community Manager of 3mdeb - https://3mdeb.com/
_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org

Reply via email to