Opened 4 years ago
Last modified 6 months ago
#820 new defect
Changing ninja config from CONFIG_SMP to !CONFIG_SMP and vice versa breaks the build
Reported by: | Jakub Jermář | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 0.14.2 |
Component: | helenos-build | Version: | mainline |
Keywords: | Cc: | ||
Blocker for: | Depends on: | ||
See also: |
Description
On HelenOS master, running ninja config in a configured build directory and toggling CONFIG_SMP (Support for SMP), results in build errors:
When switching from !CONFIG_SMP to CONFIG_SMP:
5/1645] Linking target kernel/kernel.1.elf FAILED: kernel/kernel.1.elf /usr/local/cross/bin/amd64-helenos-gcc -o kernel/kernel.1.elf kernel/kernel.1.elf.p/meson-generated_.._empty_map.S.o -Wl,--as-needed -Wl,--no-undefined -Wl,--whole-archive -Wl,--start-group kernel/libinstrumentables.a kernel/libnoninstrumentables.a -Wl,--end-group -Wl,--no-whole-archive -Wl,--gc-sections -Wl,--warn-common -Wl,--fatal-warnings -O3 -fexec-charset=UTF-8 -finput-charset=UTF-8 -Wa,--fatal-warnings -Wall -Wextra -Werror-implicit-function-declaration -Wwrite-strings -Wunknown-pragmas -Wno-unused-parameter -pipe -ffunction-sections -fno-common -fdebug-prefix-map=/home/jermar/software/HelenOS/helenos=. -Wsystem-headers -fvar-tracking-assignments -Werror -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-clobbered -Wno-nonnull-compare -fno-builtin-strftime -D__LE__ -fno-omit-frame-pointer -mno-sse -mno-sse2 -mcmodel=kernel -mno-red-zone -fno-unwind-tables -march=opteron -imacros /home/jermar/software/HelenOS/build-up-amd64/config.h -D_HELENOS_SOURCE -DKERNEL -DHELENOS_RELEASE=0.9.1 '-DHELENOS_COPYRIGHT=Copyright (c) 2001-2019 HelenOS project' -DHELENOS_CODENAME=Armonia -D__64_BITS__ -ffreestanding -Wno-cast-function-type -Wl,-z,max-page-size=0x1000 -nostdlib -Wl,--no-gc-sections -Wl,--nmagic -T /home/jermar/software/HelenOS/build-up-amd64/kernel/_link.ld -Wl,-Map,/home/jermar/software/HelenOS/build-up-amd64/kernel/kernel.1.elf.map /usr/local/cross/lib/gcc/amd64-helenos/8.2.0/../../../../amd64-helenos/bin/ld: kernel/libnoninstrumentables.a(arch_amd64_src_smp_ap.S.o): in function `unmapped_ap_boot': (K_TEXT_START+0x9): undefined reference to `ap_gdtr' /usr/local/cross/lib/gcc/amd64-helenos/8.2.0/../../../../amd64-helenos/bin/ld: kernel/libnoninstrumentables.a(arch_amd64_src_smp_apic.c.o): in function `l_apic_send_init_ipi': apic.c:(.text.l_apic_send_init_ipi+0xf5): undefined reference to `ap_boot' /usr/local/cross/lib/gcc/amd64-helenos/8.2.0/../../../../amd64-helenos/bin/ld: kernel/libnoninstrumentables.a(arch_amd64_src_smp_smp.c.o): in function `kmp': smp.c:(.text.kmp+0x7b): undefined reference to `ap_boot' /usr/local/cross/lib/gcc/amd64-helenos/8.2.0/../../../../amd64-helenos/bin/ld: smp.c:(.text.kmp+0x1ad): undefined reference to `protected_ap_gdtr' /usr/local/cross/lib/gcc/amd64-helenos/8.2.0/../../../../amd64-helenos/bin/ld: smp.c:(.text.kmp+0x1bc): undefined reference to `protected_ap_gdtr' collect2: error: ld returned 1 exit status [14/1645] Compiling C object uspace/lib/libc.so.0.0.p/c_generic_strtol.c.o ninja: build stopped: subcommand failed.
And when switching from CONFIG_SMP to !CONFIG_SMP:
[2/1735] Linking target kernel/kernel.1.elf FAILED: kernel/kernel.1.elf /usr/local/cross/bin/amd64-helenos-gcc -o kernel/kernel.1.elf kernel/kernel.1.elf.p/meson-generated_.._empty_map.S.o -Wl,--as-needed -Wl,--no-undefined -Wl,--whole-archive -Wl,--start-group kernel/libinstrumentables.a kernel/libnoninstrumentables.a -Wl,--end-group -Wl,--no-whole-archive -Wl,--gc-sections -Wl,--warn-common -Wl,--fatal-warnings -O3 -fexec-charset=UTF-8 -finput-charset=UTF-8 -Wa,--fatal-warnings -Wall -Wextra -Werror-implicit-function-declaration -Wwrite-strings -Wunknown-pragmas -Wno-unused-parameter -pipe -ffunction-sections -fno-common -fdebug-prefix-map=/home/jermar/software/HelenOS/helenos=. -Wsystem-headers -fvar-tracking-assignments -Werror -Wmissing-prototypes -Wno-missing-braces -Wno-missing-field-initializers -Wno-unused-parameter -Wno-clobbered -Wno-nonnull-compare -fno-builtin-strftime -D__LE__ -fno-omit-frame-pointer -mno-sse -mno-sse2 -mcmodel=kernel -mno-red-zone -fno-unwind-tables -march=opteron -imacros /home/jermar/software/HelenOS/build-amd64/config.h -D_HELENOS_SOURCE -DKERNEL -DHELENOS_RELEASE=0.9.1 '-DHELENOS_COPYRIGHT=Copyright (c) 2001-2019 HelenOS project' -DHELENOS_CODENAME=Armonia -D__64_BITS__ -ffreestanding -Wno-cast-function-type -Wl,-z,max-page-size=0x1000 -nostdlib -Wl,--no-gc-sections -Wl,--nmagic -T /home/jermar/software/HelenOS/build-amd64/kernel/_link.ld -Wl,-Map,/home/jermar/software/HelenOS/build-amd64/kernel/kernel.1.elf.map /usr/local/cross/lib/gcc/amd64-helenos/8.2.0/../../../../amd64-helenos/bin/ld:/home/jermar/software/HelenOS/build-amd64/kernel/_link.ld:27: undefined symbol `unmapped_ap_boot' referenced in expression collect2: error: ld returned 1 exit status [11/1735] Compiling C object uspace/lib/libc.so.0.0.p/c_generic_elf_elf_mod.c.o ninja: build stopped: subcommand failed.
Change History (5)
comment:1 by , 3 years ago
Milestone: | 0.10.1 → 0.11.2 |
---|
comment:2 by , 3 years ago
Milestone: | 0.11.2 → 0.12.1 |
---|
comment:3 by , 21 months ago
Milestone: | 0.12.1 → 0.13.1 |
---|
comment:5 by , 6 months ago
Milestone: | 0.14.1 → 0.14.2 |
---|
Note:
See TracTickets
for help on using tickets.
Milestone renamed