2011-03-08 21:39:47

by Sedat Dilek

[permalink] [raw]
Subject: [PATCH] x86: Fix ACPI wakeup build failure

This fixes the following breakage in linux-next (next-20110308):
AS arch/x86/kernel/acpi/wakeup_rm.o
arch/x86/kernel/acpi/wakeup_rm.S: Assembler messages:
arch/x86/kernel/acpi/wakeup_rm.S:12: Error: .size expression with symbol `wakeup_code_start' does not evaluate to a constant

The issue was introduced by commit d1ee433539ea5963a8f946f3428b335d1c5fdb20:
"x86, trampoline: Use the unified trampoline setup for ACPI wakeup"

The problem was discovered while using Debian's binutils (2.21.0.20110302-1)
and experimenting with binutils from upstream.

Thanks Alexander and H.J. for the vital help.

CC: Alexander van Heukelum <[email protected]>
CC: "H.J. Lu" <[email protected]>
CC: Len Brown <[email protected]>
CC: Pavel Machek <[email protected]>
CC: "Rafael J. Wysocki" <[email protected]>
CC: Thomas Gleixner <[email protected]>
CC: Ingo Molnar <[email protected]>
CC: "H. Peter Anvin" <[email protected]>
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
Signed-off-by: Sedat Dilek <[email protected]>
---
arch/x86/kernel/acpi/wakeup_rm.S | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/acpi/wakeup_rm.S b/arch/x86/kernel/acpi/wakeup_rm.S
index 6ce81ee..63b8ab5 100644
--- a/arch/x86/kernel/acpi/wakeup_rm.S
+++ b/arch/x86/kernel/acpi/wakeup_rm.S
@@ -9,4 +9,4 @@
.globl acpi_wakeup_code
acpi_wakeup_code:
.incbin "arch/x86/kernel/acpi/realmode/wakeup.bin"
- .size wakeup_code_start, .-wakeup_code_start
+ .size acpi_wakeup_code, .-acpi_wakeup_code
--
1.7.4.1


2011-03-08 22:41:45

by Alexander van Heukelum

[permalink] [raw]
Subject: Re: [PATCH] x86: Fix ACPI wakeup build failure

On Tue, 08 Mar 2011 22:39 +0100, "Sedat Dilek" <[email protected]> wrote:
> This fixes the following breakage in linux-next (next-20110308):
> AS arch/x86/kernel/acpi/wakeup_rm.o
> arch/x86/kernel/acpi/wakeup_rm.S: Assembler messages:
> arch/x86/kernel/acpi/wakeup_rm.S:12: Error: .size expression with
> symbol `wakeup_code_start' does not evaluate to a constant
>
> The issue was introduced by commit
> d1ee433539ea5963a8f946f3428b335d1c5fdb20:
> "x86, trampoline: Use the unified trampoline setup for ACPI wakeup"
>
> The problem was discovered while using Debian's binutils
> (2.21.0.20110302-1)
> and experimenting with binutils from upstream.
>
> Thanks Alexander and H.J. for the vital help.
>
> CC: Alexander van Heukelum <[email protected]>
> CC: "H.J. Lu" <[email protected]>
> CC: Len Brown <[email protected]>
> CC: Pavel Machek <[email protected]>
> CC: "Rafael J. Wysocki" <[email protected]>
> CC: Thomas Gleixner <[email protected]>
> CC: Ingo Molnar <[email protected]>
> CC: "H. Peter Anvin" <[email protected]>
> CC: [email protected]
> CC: [email protected]
> CC: [email protected]
> CC: [email protected]
> Signed-off-by: Sedat Dilek <[email protected]>

Acked-by: Alexander van Heukelum <[email protected]>

(This problem exists in the x86-tree. Mainline is fine.)

> ---
> arch/x86/kernel/acpi/wakeup_rm.S | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kernel/acpi/wakeup_rm.S
> b/arch/x86/kernel/acpi/wakeup_rm.S
> index 6ce81ee..63b8ab5 100644
> --- a/arch/x86/kernel/acpi/wakeup_rm.S
> +++ b/arch/x86/kernel/acpi/wakeup_rm.S
> @@ -9,4 +9,4 @@
> .globl acpi_wakeup_code
> acpi_wakeup_code:
> .incbin "arch/x86/kernel/acpi/realmode/wakeup.bin"
> - .size wakeup_code_start, .-wakeup_code_start
> + .size acpi_wakeup_code, .-acpi_wakeup_code
> --
> 1.7.4.1
>
>

2011-03-09 11:22:50

by Sedat Dilek

[permalink] [raw]
Subject: [tip:x86/trampoline] x86: Fix binutils-2.21 symbol related build failures

Commit-ID: 2ae9d293b14d17f35eff624272cfecac7979a2ee
Gitweb: http://git.kernel.org/tip/2ae9d293b14d17f35eff624272cfecac7979a2ee
Author: Sedat Dilek <[email protected]>
AuthorDate: Tue, 8 Mar 2011 22:39:24 +0100
Committer: Ingo Molnar <[email protected]>
CommitDate: Wed, 9 Mar 2011 10:25:45 +0100

x86: Fix binutils-2.21 symbol related build failures

New binutils version 2.21.0.20110302-1 started checking that the symbol
parameter to the .size directive matches the entry name's
symbol parameter, unearthing two mismatches:

AS arch/x86/kernel/acpi/wakeup_rm.o
arch/x86/kernel/acpi/wakeup_rm.S: Assembler messages:
arch/x86/kernel/acpi/wakeup_rm.S:12: Error: .size expression with symbol `wakeup_code_start' does not evaluate to a constant

arch/x86/kernel/entry_32.S: Assembler messages:
arch/x86/kernel/entry_32.S:1421: Error: .size expression with
symbol `apf_page_fault' does not evaluate to a constant

The problem was discovered while using Debian's binutils
(2.21.0.20110302-1) and experimenting with binutils from
upstream.

Thanks Alexander and H.J. for the vital help.

Signed-off-by: Sedat Dilek <[email protected]>
Cc: Alexander van Heukelum <[email protected]>
Cc: H.J. Lu <[email protected]>
Cc: Len Brown <[email protected]>
Cc: Pavel Machek <[email protected]>
Cc: Rafael J. Wysocki <[email protected]>
LKML-Reference: <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/kernel/acpi/wakeup_rm.S | 2 +-
arch/x86/kernel/entry_32.S | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/acpi/wakeup_rm.S b/arch/x86/kernel/acpi/wakeup_rm.S
index 6ce81ee..63b8ab5 100644
--- a/arch/x86/kernel/acpi/wakeup_rm.S
+++ b/arch/x86/kernel/acpi/wakeup_rm.S
@@ -9,4 +9,4 @@
.globl acpi_wakeup_code
acpi_wakeup_code:
.incbin "arch/x86/kernel/acpi/realmode/wakeup.bin"
- .size wakeup_code_start, .-wakeup_code_start
+ .size acpi_wakeup_code, .-acpi_wakeup_code
diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index c8b4efa..9ca3b0e 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -1413,7 +1413,7 @@ ENTRY(async_page_fault)
CFI_ADJUST_CFA_OFFSET 4
jmp error_code
CFI_ENDPROC
-END(apf_page_fault)
+END(async_page_fault)
#endif

/*