2011-03-09 00:22:06

by Ben Hutchings

[permalink] [raw]
Subject: [PATCH 0/5] Fix build failures with binutils 2.21

gas has been silently ignoring .size directives with typos, but this was
fixed in binutils 2.21, resulting in build failures with the new
version.

I collected a couple of fixes for x86, then saw a similar failure on
sparc and went hunting for more instances. This series, based on
2.6.38-rc8, should cover them all. However, my changes are not even
build-tested.

Ben.

Alan Modra (1):
x86: Fix .size directive for async_page_fault

Ben Hutchings (3):
sparc: Fix .size directive for do_int_load
avr32: Fix .size directive for cpu_enter_idle
arm: Fix .size directives for __arm{7,9}tdmi_proc_info

H.J. Lu (1):
x86: Fix .size directive for xen_do_hypervisor_callback

arch/arm/mm/proc-arm7tdmi.S | 2 +-
arch/arm/mm/proc-arm9tdmi.S | 2 +-
arch/avr32/mach-at32ap/pm-at32ap700x.S | 2 +-
arch/sparc/kernel/una_asm_64.S | 2 +-
arch/x86/kernel/entry_32.S | 2 +-
arch/x86/kernel/entry_64.S | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)

--
1.7.4.1



Attachments:
signature.asc (828.00 B)
This is a digitally signed message part

2011-03-09 00:30:19

by Ben Hutchings

[permalink] [raw]
Subject: [PATCH 1/5] x86: Fix .size directive for xen_do_hypervisor_callback

From: H.J. Lu <[email protected]>

[bwh: This is my summary.]

gas used to accept (and ignore?) .size directives which referred to
undefined symbols, as this does. In binutils 2.21 these are treated
as errors.

Signed-off-by: Ben Hutchings <[email protected]>
---
If this is already headed to Linus by some other route, sorry for the
dupe.

HJL: Care to add your S-o-b? (I can't believe this is even subject to
copyright, so I'm signing it off myself anyway.)

Ben.

arch/x86/kernel/entry_64.S | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index aed1ffb..bbd5c80 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -1248,7 +1248,7 @@ ENTRY(xen_do_hypervisor_callback) # do_hypervisor_callback(struct *pt_regs)
decl PER_CPU_VAR(irq_count)
jmp error_exit
CFI_ENDPROC
-END(do_hypervisor_callback)
+END(xen_do_hypervisor_callback)

/*
* Hypervisor uses this for application faults while it executes.
--
1.7.4.1


2011-03-09 00:31:37

by Ben Hutchings

[permalink] [raw]
Subject: [PATCH 2/5] x86: Fix .size directive for async_page_fault

From: Alan Modra <[email protected]>

[bwh: This is my summary.]

gas used to accept (and ignore?) .size directives which referred to
undefined symbols, as this does. In binutils 2.21 these are treated
as errors.

Signed-off-by: Ben Hutchings <[email protected]>
---
If this is already headed to Linus by some other route, sorry for the
dupe.

Alan: Care to add your S-o-b? (I can't believe this is even subject to
copyright, so I'm signing it off myself anyway.)

Ben.

arch/x86/kernel/entry_32.S | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

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

/*
--
1.7.4.1


2011-03-09 00:32:41

by Ben Hutchings

[permalink] [raw]
Subject: [PATCH 4/5] avr32: Fix .size directive for cpu_enter_idle

gas used to accept (and ignore?) .size directives which referred to
undefined symbols, as this does. In binutils 2.21 these are treated
as errors.

Signed-off-by: Ben Hutchings <[email protected]>
---
arch/avr32/mach-at32ap/pm-at32ap700x.S | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/avr32/mach-at32ap/pm-at32ap700x.S b/arch/avr32/mach-at32ap/pm-at32ap700x.S
index 17503b0..f868f4c 100644
--- a/arch/avr32/mach-at32ap/pm-at32ap700x.S
+++ b/arch/avr32/mach-at32ap/pm-at32ap700x.S
@@ -53,7 +53,7 @@ cpu_enter_idle:
st.w r8[TI_flags], r9
unmask_interrupts
sleep CPU_SLEEP_IDLE
- .size cpu_idle_sleep, . - cpu_idle_sleep
+ .size cpu_enter_idle, . - cpu_enter_idle

/*
* Common return path for PM functions that don't run from
--
1.7.4.1


2011-03-09 04:28:24

by Hans-Christian Egtvedt

[permalink] [raw]
Subject: Re: [PATCH 4/5] avr32: Fix .size directive for cpu_enter_idle

On Wed, 2011-03-09 at 00:32 +0000, Ben Hutchings wrote:
> gas used to accept (and ignore?) .size directives which referred to
> undefined symbols, as this does. In binutils 2.21 these are treated
> as errors.
>
> Signed-off-by: Ben Hutchings <[email protected]>

Acked-by: Hans-Christian Egtvedt <[email protected]>

--
Hans-Christian Egtvedt

2011-04-07 23:48:24

by Ben Hutchings

[permalink] [raw]
Subject: Re: [PATCH 4/5] avr32: Fix .size directive for cpu_enter_idle

On Wed, 2011-03-09 at 00:32 +0000, Ben Hutchings wrote:
> gas used to accept (and ignore?) .size directives which referred to
> undefined symbols, as this does. In binutils 2.21 these are treated
> as errors.

Please acknowledge and send this upstream.

Ben.

> Signed-off-by: Ben Hutchings <[email protected]>
> ---
> arch/avr32/mach-at32ap/pm-at32ap700x.S | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/avr32/mach-at32ap/pm-at32ap700x.S b/arch/avr32/mach-at32ap/pm-at32ap700x.S
> index 17503b0..f868f4c 100644
> --- a/arch/avr32/mach-at32ap/pm-at32ap700x.S
> +++ b/arch/avr32/mach-at32ap/pm-at32ap700x.S
> @@ -53,7 +53,7 @@ cpu_enter_idle:
> st.w r8[TI_flags], r9
> unmask_interrupts
> sleep CPU_SLEEP_IDLE
> - .size cpu_idle_sleep, . - cpu_idle_sleep
> + .size cpu_enter_idle, . - cpu_enter_idle
>
> /*
> * Common return path for PM functions that don't run from

--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.


Attachments:
signature.asc (828.00 B)
This is a digitally signed message part