2003-05-15 14:36:06

by CaT

[permalink] [raw]
Subject: 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=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=15

#
# Loadable module support
#
# CONFIG_MODULES is not set

#
# Processor type and features
#
CONFIG_X86_PC=y
CONFIG_MPENTIUMIII=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_PREEMPT=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_NOHIGHMEM=y
CONFIG_MTRR=y
CONFIG_HAVE_DEC_LOCK=y

#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
CONFIG_SOFTWARE_SUSPEND=y

#
# ACPI Support
#
CONFIG_ACPI=y
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_BUS=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_TABLE=y

#
# CPUFreq processor drivers
#
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_SPEEDSTEP=y

--
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


2003-05-15 14:50:37

by Mikael Pettersson

[permalink] [raw]
Subject: Re: 2.5.69-bk[89]: software suspend compile error

CaT writes:
> 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 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'
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.

--- linux-2.5.69-bk9/arch/i386/kernel/suspend_asm.S.~1~ 2003-05-15 11:07:04.000000000 +0200
+++ linux-2.5.69-bk9/arch/i386/kernel/suspend_asm.S 2003-05-15 11:09:29.000000000 +0200
@@ -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:

2003-05-15 14:51:57

by CaT

[permalink] [raw]
Subject: Re: 2.5.69-bk[89]: software suspend compile error

On Fri, May 16, 2003 at 12:49:33AM +1000, CaT wrote:
> 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. :)

--
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