All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: James Hogan <james.hogan@imgtec.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
	linux-mips@linux-mips.org, linux-kernel@vger.kernel.org,
	Qais Yousef <qais.yousef@imgtec.com>
Subject: Re: [PATCH -next] MIPS: VDSO: Fix build error with binutils 2.24 and earlier
Date: Thu, 24 Dec 2015 07:24:03 -0800	[thread overview]
Message-ID: <567C0E13.6000006@roeck-us.net> (raw)
In-Reply-To: <20151224124812.GA5376@jhogan-linux.le.imgtec.org>

On 12/24/2015 04:48 AM, James Hogan wrote:
> Hi Guenter,
>
> On Wed, Dec 23, 2015 at 09:04:31PM -0800, Guenter Roeck wrote:
>> Commit 2a037f310bab ("MIPS: VDSO: Fix build error") tries to fix a build
>> error seen with binutils 2.24 and earlier. However, the fix does not work,
>> and again results in the already known build errors if the kernel is built
>> with an earlier version of binutils.
>>
>> CC      arch/mips/vdso/gettimeofday.o
>> /tmp/ccnOVbHT.s: Assembler messages:
>> /tmp/ccnOVbHT.s:50: Error: can't resolve `_start' {*UND* section} - `L0 {.text section}
>> /tmp/ccnOVbHT.s:374: Error: can't resolve `_start' {*UND* section} - `L0 {.text section}
>> scripts/Makefile.build:258: recipe for target 'arch/mips/vdso/gettimeofday.o' failed
>> make[2]: *** [arch/mips/vdso/gettimeofday.o] Error 1
>>
>> Fixes: 2a037f310bab ("MIPS: VDSO: Fix build error")
>> Cc: Qais Yousef <qais.yousef@imgtec.com>
>> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
>> ---
>> Tested with binutils 2.25 and 2.22.
>>
>>   arch/mips/vdso/Makefile | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile
>> index 018f8c7b94f2..14568900fc1d 100644
>> --- a/arch/mips/vdso/Makefile
>> +++ b/arch/mips/vdso/Makefile
>> @@ -26,7 +26,7 @@ aflags-vdso := $(ccflags-vdso) \
>>   # the comments on that file.
>>   #
>>   ifndef CONFIG_CPU_MIPSR6
>> -  ifeq ($(call ld-ifversion, -lt, 22500000, y),)
>> +  ifeq ($(call ld-ifversion, -lt, 22500000, y),y)
>
> I agree this is semantically correct, but there is something more evil
> going on here.
>
> Originally the check was version <= 2.24
> Qais' patch changed it to version >= 2.25 (intending version < 2.25)
> Your patch changes it to version < 2.25
>
> I think the reason this fixed the problem for Qais is actually that he
> probably had a similar toolchain version to what I'm using:
>
> GNU ld (Codescape GNU Tools 2015.06-05 for MIPS MTI Linux) 2.24.90
>

My toolchains are yocto 1.3 (2.22) and yocto 2.0 (2.25).

> ./scripts/ld-version.sh does this:
>
> print a[1]*10000000 + a[2]*100000 + a[3]*10000 + a[4]*100 + a[5];
>
> which changes that version number into:
>   20000000
> +  2400000
> +   900000 = 23300000
>
> I.e. it doesn't expect a[3] to be >= 10.
>
> Should we do something like this (increase multipliers on a[1] and
> a[2])?:
>
> diff --git a/scripts/ld-version.sh b/scripts/ld-version.sh
> index 198580d245e0..0b67edc5bc6f 100755
> --- a/scripts/ld-version.sh
> +++ b/scripts/ld-version.sh
> @@ -3,6 +3,6 @@
>   	{
>   	gsub(".*)", "");
>   	split($1,a, ".");
> -	print a[1]*10000000 + a[2]*100000 + a[3]*10000 + a[4]*100 + a[5];
> +	print a[1]*100000000 + a[2]*1000000 + a[3]*10000 + a[4]*100 + a[5];
>   	exit
>   	}
>
> which gives 2.24.90 => 224900000.
>
Yes, that makes sense, and from your description will be necessary.

Thanks,
Guenter

  parent reply	other threads:[~2015-12-24 15:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-24  5:04 [PATCH -next] MIPS: VDSO: Fix build error with binutils 2.24 and earlier Guenter Roeck
2015-12-24 12:48 ` James Hogan
2015-12-24 12:48   ` James Hogan
2015-12-24 12:57   ` James Hogan
2015-12-24 12:57     ` James Hogan
2016-01-05  9:20     ` Michal Marek
2016-01-05 10:06       ` James Hogan
2016-01-05 10:06         ` James Hogan
2015-12-24 15:24   ` Guenter Roeck [this message]
2016-01-03 23:08 ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=567C0E13.6000006@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=james.hogan@imgtec.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=qais.yousef@imgtec.com \
    --cc=ralf@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.