On Wed, Mar 2, 2011 at 10:16 PM, Hui Zhu <[email protected]> wrote:
> as -version
> GNU assembler (GNU Binutils) 2.21.51.20110303
> ?AS ? ? ?arch/x86/kernel/entry_32.o
> /home/teawater/big/kernel/linux-2.6/arch/x86/kernel/entry_32.S:
> Assembler messages:
> /home/teawater/big/kernel/linux-2.6/arch/x86/kernel/entry_32.S:1422:
> Error: .size expression does not evaluate to a constant
>
> When I change back to the as of system, everything is OK.
>
> Because I always use the as of trunk, so I think a recent PATCH caused
> the problem.
>
You need
http://git.kernel.org/?p=linux/kernel/git/hjl/linux-2.6.37.y.git;a=commitdiff;h=2c5ce9c1b8eb927c131a31d4466e24e00647e9cb
--
H.J.
On Thu, Mar 03, 2011 at 05:48:01AM -0800, H.J. Lu wrote:
> On Wed, Mar 2, 2011 at 10:16 PM, Hui Zhu <[email protected]> wrote:
> > as -version
> > GNU assembler (GNU Binutils) 2.21.51.20110303
> > ?AS ? ? ?arch/x86/kernel/entry_32.o
> > /home/teawater/big/kernel/linux-2.6/arch/x86/kernel/entry_32.S:
> > Assembler messages:
> > /home/teawater/big/kernel/linux-2.6/arch/x86/kernel/entry_32.S:1422:
> > Error: .size expression does not evaluate to a constant
> >
> > When I change back to the as of system, everything is OK.
> >
> > Because I always use the as of trunk, so I think a recent PATCH caused
> > the problem.
> >
>
> You need
>
> http://git.kernel.org/?p=linux/kernel/git/hjl/linux-2.6.37.y.git;a=commitdiff;h=2c5ce9c1b8eb927c131a31d4466e24e00647e9cb
That doesn't fix the similar entry_32.S problem. Here you go.
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
/*
--
Alan Modra
Australia Development Lab, IBM
On Thu, Mar 3, 2011 at 6:30 AM, Alan Modra <[email protected]> wrote:
> On Thu, Mar 03, 2011 at 05:48:01AM -0800, H.J. Lu wrote:
>> On Wed, Mar 2, 2011 at 10:16 PM, Hui Zhu <[email protected]> wrote:
>> > as -version
>> > GNU assembler (GNU Binutils) 2.21.51.20110303
>> > ?AS ? ? ?arch/x86/kernel/entry_32.o
>> > /home/teawater/big/kernel/linux-2.6/arch/x86/kernel/entry_32.S:
>> > Assembler messages:
>> > /home/teawater/big/kernel/linux-2.6/arch/x86/kernel/entry_32.S:1422:
>> > Error: .size expression does not evaluate to a constant
>> >
>> > When I change back to the as of system, everything is OK.
>> >
>> > Because I always use the as of trunk, so I think a recent PATCH caused
>> > the problem.
>> >
>>
>> You need
>>
>> http://git.kernel.org/?p=linux/kernel/git/hjl/linux-2.6.37.y.git;a=commitdiff;h=2c5ce9c1b8eb927c131a31d4466e24e00647e9cb
>
> That doesn't fix the similar entry_32.S problem. ?Here you go.
>
> 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
>
> ?/*
>
The assembler error message is very vague about mismactched
.size location. I guess we don't have the infrastructure to provide
better diagnostics.
--
H.J.