Symbol: reset_vga is in a bss section cannot set
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
kexec-tools (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: kexec-tools
I'm running privately compiled Ubuntu 10.4 and a privately compiled version of kexec-tools-
/sbin/kexec -p --args-linux --append=
I get the following error:
Symbol: reset_vga is in a bss section cannot set
The crashkernel being downloaded is also a privately build Ubuntu 10.4 with SMP disabled, and kernel crash dumps enabled.
This used to work fine in Ubuntu 9.04 with kexec-tools-2.0.0 (again, all privately compiled from sources).
Any help would be appreciated
Thanks
Roger R. Cruz
I got through this problem after several hours of debugging the ELF format and the purgatory code. The symbol information for this variables appears to point to a table not allowed by kexec. By adding the compiler flag "no-zero- initialized- in-bss" , I was allowed to install the kernel.
diff -r 5237ea698c92 kexec-tools- 2.0.1/purgatory /Makefile tools-2. 0.1/purgatory/ Makefile tools-2. 0.1/purgatory/ Makefile =$(PURGATORY_ EXTRA_CFLAGS) \
$($(ARCH) _PURGATORY_ EXTRA_CFLAGS) \ initialized- in-bss
--- a/kexec-
+++ b/kexec-
@@ -47,7 +47,7 @@
$(PURGATORY): CC=$(TARGET_CC)
$(PURGATORY): CFLAGS+
- -Os -fno-builtin -ffreestanding
+ -Os -fno-builtin -ffreestanding -fno-zero-
$(PURGATORY): CPPFLAGS= $($(ARCH) _PURGATORY_ EXTRA_CFLAGS) \ (srcdir) /purgatory/ include \
-I$