2.5.69-bk[89]: software suspend compile error
tried to see if I could fix this myself but couldn't figure out what was happening. the ld line that creates the built-in.o has suspend_asm.o in it which, in turn, seems to contain the right labels so I'm a bit lost. Anyhow, here's part of the output and the relevant (I hope) bit of the .config.
...
ld -m elf_i386 -R arch/i386/kernel/vsyscall-syms.o -r -o arch/i386/kernel/built-in.o arch/i386/kernel/process.o arch/i386/kernel/semaphore.o arch/i386/kernel/signal.o arch/i386/kernel/entry.o arch/i386/kernel/traps.o arch/i386/kernel/irq.o arch/i386/kernel/vm86.o arch/i386/kernel/ptrace.o arch/i386/kernel/i8259.o arch/i386/kernel/ioport.o arch/i386/kernel/ldt.o arch/i386/kernel/setup.o arch/i386/kernel/time.o arch/i386/kernel/sys_i386.o arch/i386/kernel/pci-dma.o arch/i386/kernel/i386_ksyms.o arch/i386/kernel/i387.o arch/i386/kernel/dmi_scan.o arch/i386/kernel/bootflag.o arch/i386/kernel/doublefault.o arch/i386/kernel/cpu/built-in.o arch/i386/kernel/timers/built-in.o arch/i386/kernel/acpi/built-in.o arch/i386/kernel/reboot.o arch/i386/kernel/suspend.o arch/i386/kernel/suspend_asm.o arch/i386/kernel/sysenter.o arch/i386/kernel/vsyscall.o
...
gcc -Wp,-MD,init/.version.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -Iinclude/asm-i386/mach-default -nostdinc -iwithprefix include -DKBUILD_BASENAME=version -DKBUILD_MODNAME=version -c -o init/version.o init/version.c
ld -m elf_i386 -r -o init/built-in.o init/main.o init/version.o init/mounts.o init/initramfs.o
ld -m elf_i386 -T arch/i386/vmlinux.lds.s arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/built-in.o --start-group usr/built-in.o arch/i386/kernel/built-in.o arch/i386/mm/built-in.o arch/i386/mach-default/built-in.o kernel/built-in.o mm/built-in.o fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o lib/lib.a arch/i386/lib/lib.a drivers/built-in.o sound/built-in.o arch/i386/pci/built-in.o net/built-in.o --end-group -o .tmp_vmlinux1
arch/i386/kernel/built-in.o: In function `do_suspend_lowlevel':
arch/i386/kernel/built-in.o(.data+0x160a): undefined reference to saved_context_esp' arch/i386/kernel/built-in.o(.data+0x160f): undefined reference to saved_context_eax' arch/i386/kernel/built-in.o(.data+0x1615): undefined reference to saved_context_ebx' arch/i386/kernel/built-in.o(.data+0x161b): undefined reference to saved_context_ecx' arch/i386/kernel/built-in.o(.data+0x1621): undefined reference to saved_context_edx' arch/i386/kernel/built-in.o(.data+0x1627): undefined reference to saved_context_ebp' arch/i386/kernel/built-in.o(.data+0x162d): undefined reference to saved_context_esi' arch/i386/kernel/built-in.o(.data+0x1633): undefined reference to saved_context_edi' arch/i386/kernel/built-in.o(.data+0x163a): undefined reference to saved_context_eflags' arch/i386/kernel/built-in.o: In function ret_point':
arch/i386/kernel/built-in.o(.data+0x167a): undefined reference to saved_context_esp' arch/i386/kernel/built-in.o(.data+0x1680): undefined reference to saved_context_ebp' arch/i386/kernel/built-in.o(.data+0x1685): undefined reference to saved_context_eax' arch/i386/kernel/built-in.o(.data+0x168b): undefined reference to saved_context_ebx' arch/i386/kernel/built-in.o(.data+0x1691): undefined reference to saved_context_ecx' arch/i386/kernel/built-in.o(.data+0x1697): undefined reference to saved_context_edx' arch/i386/kernel/built-in.o(.data+0x169d): undefined reference to saved_context_esi' arch/i386/kernel/built-in.o(.data+0x16a3): undefined reference to saved_context_edi' arch/i386/kernel/built-in.o(.data+0x16ae): undefined reference to saved_context_eflags' arch/i386/kernel/built-in.o: In function do_suspend_lowlevel_s4bios':
arch/i386/kernel/built-in.o(.data+0x16c2): undefined reference to saved_context_esp' arch/i386/kernel/built-in.o(.data+0x16c7): undefined reference to saved_context_eax' arch/i386/kernel/built-in.o(.data+0x16cd): undefined reference to saved_context_ebx' arch/i386/kernel/built-in.o(.data+0x16d3): undefined reference to saved_context_ecx' arch/i386/kernel/built-in.o(.data+0x16d9): undefined reference to saved_context_edx' arch/i386/kernel/built-in.o(.data+0x16df): undefined reference to saved_context_ebp' arch/i386/kernel/built-in.o(.data+0x16e5): undefined reference to saved_context_esi' arch/i386/kernel/built-in.o(.data+0x16eb): undefined reference to saved_context_edi' arch/i386/kernel/built-in.o(.data+0x16f2): undefined reference to `saved_context_eflags'
make: *** [.tmp_vmlinux1] Error 1
.config:
...CONFIG_SWAP=yCONFIG_SYSVIPC=yCONFIG_SYSCTL=yCONFIG_LOG_BUF_SHIFT=15
#
# Loadable module support
#
# CONFIG_MODULES is not set
#
# Processor type and features
#CONFIG_X86_PC=yCONFIG_MPENTIUMIII=yCONFIG_X86_CMPXCHG=yCONFIG_X86_XADD=yCONFIG_X86_L1_CACHE_SHIFT=5CONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_X86_WP_WORKS_OK=yCONFIG_X86_INVLPG=yCONFIG_X86_BSWAP=yCONFIG_X86_POPAD_OK=yCONFIG_X86_GOOD_APIC=yCONFIG_X86_INTEL_USERCOPY=yCONFIG_X86_USE_PPRO_CHECKSUM=yCONFIG_PREEMPT=yCONFIG_X86_TSC=yCONFIG_X86_MCE=yCONFIG_NOHIGHMEM=yCONFIG_MTRR=yCONFIG_HAVE_DEC_LOCK=y
#
# Power management options (ACPI, APM)
#CONFIG_PM=yCONFIG_SOFTWARE_SUSPEND=y
#
# ACPI Support
#CONFIG_ACPI=yCONFIG_ACPI_BOOT=yCONFIG_ACPI_SLEEP=yCONFIG_ACPI_SLEEP_PROC_FS=yCONFIG_ACPI_AC=yCONFIG_ACPI_BATTERY=yCONFIG_ACPI_BUTTON=yCONFIG_ACPI_FAN=yCONFIG_ACPI_PROCESSOR=yCONFIG_ACPI_THERMAL=yCONFIG_ACPI_DEBUG=yCONFIG_ACPI_BUS=yCONFIG_ACPI_INTERPRETER=yCONFIG_ACPI_EC=yCONFIG_ACPI_POWER=yCONFIG_ACPI_PCI=yCONFIG_ACPI_SYSTEM=y
#
# CPU Frequency scaling
#CONFIG_CPU_FREQ=yCONFIG_CPU_FREQ_GOV_USERSPACE=yCONFIG_CPU_FREQ_TABLE=y
#
# CPUFreq processor drivers
#CONFIG_X86_ACPI_CPUFREQ=yCONFIG_X86_SPEEDSTEP=y
Signature · 6 lines
Martin's distress was in contrast to the bitter satisfaction of some of his fellow marines as they surveyed the scene. "The Iraqis are sick people and we are the chemotherapy," said Corporal Ryan Dupre. "I am starting to hate this country. Wait till I get hold of a friggin' Iraqi. No, I won't get hold of one. I'll just kill him." - http://www.informationclearinghouse.info/article2479.htm
Quoted 11 lines · CaT
tried to see if I could fix this myself but couldn't figure out what was happening. the ld line that creates the built-in.o has suspend_asm.o in it which, in turn, seems to contain the right labels so I'm a bit lost. Anyhow, here's part of the output and the relevant (I hope) bit of the .config.
...
arch/i386/kernel/built-in.o: In function `do_suspend_lowlevel':
arch/i386/kernel/built-in.o(.data+0x160a): undefined reference tosaved_context_esp' arch/i386/kernel/built-in.o(.data+0x160f): undefined reference tosaved_context_eax' arch/i386/kernel/built-in.o(.data+0x1615): undefined reference to `saved_context_ebx'
etc
Known problem (my fault). Apply the patch below. I'm submitting it to Linus shortly so hopefully it will be included in -bk11 or 2.5.70.
arch/i386/kernel/suspend_asm.S renamed from arch/i386/kernel/suspend_asm.S.~1~ +6 -0
@@ -7,6 +7,12 @@ #include <asm/page.h> .data + .align 4 + .globl saved_context_eax, saved_context_ebx + .globl saved_context_ecx, saved_context_edx + .globl saved_context_esp, saved_context_ebp + .globl saved_context_esi, saved_context_edi + .globl saved_context_eflags saved_context_eax: .long 0 saved_context_ebx:
Quoted 5 lines · CaT
tried to see if I could fix this myself but couldn't figure out what was happening. the ld line that creates the built-in.o has suspend_asm.o in it which, in turn, seems to contain the right labels so I'm a bit lost. Anyhow, here's part of the output and the relevant (I hope) bit of the .config.
And ofcourse, the message (from another thread) that eventually points me to the patch that fixes this comes after I send my bug report. Feh. :)
Ignore this thread. :)
Signature · 6 lines
Martin's distress was in contrast to the bitter satisfaction of some of his fellow marines as they surveyed the scene. "The Iraqis are sick people and we are the chemotherapy," said Corporal Ryan Dupre. "I am starting to hate this country. Wait till I get hold of a friggin' Iraqi. No, I won't get hold of one. I'll just kill him." - http://www.informationclearinghouse.info/article2479.htm