Re: ftrace/MIPS related x86_64 build failure on in Linus' tree

From: Arnaud Lacombe
Date: Wed Dec 15 2010 - 01:45:50 EST


Hi,

On Wed, Dec 15, 2010 at 12:04 AM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> Hi all,
>
> Since October 31 our x86_64 allmodconfig builds have been failing like this:
>
> /opt/crosstool/gcc-4.4.3-nolibc/x86_64-linux/bin/x86_64-linux-ld: arch/x86/ia32/sys_ia32.o: bad reloc symbol index (0x1000000 >= 0x6b) for offset 0x808080 in section `__mcount_loc'
> arch/x86/ia32/sys_ia32.o: could not read symbols: Bad value
>
I got the same on mips, target was BE, toolchain's host was LE.
Doesn't https://lkml.org/lkml/2010/12/2/224 address the issue ? This
patch does not seem to have reached Linus tree yet.

- Arnaud

> and many similar
> (http://fandango2.ozlabs.ibm.com/kisskb/buildresult/3423985/).  I finally
> got around to bisecting it and it comes down to this commit:
>
> a2d49358ba9bc93204dc001d5568c5bdb299b77d is the first bad commit
> commit a2d49358ba9bc93204dc001d5568c5bdb299b77d
> Author: John Reiser <jreiser@xxxxxxxxxxxx>
> Date:   Wed Oct 27 18:59:07 2010 +0800
>
>    ftrace/MIPS: Add MIPS64 support for C version of recordmcount
>
>    MIPS64 has 'weird' Elf64_Rel.r_info[1,2], which must be used instead of
>    the generic Elf64_Rel.r_info, otherwise, the C version of recordmcount
>    will not work for "segmentation fault".
>
>    Usage of "union mips_r_info" and the functions MIPS64_r_sym() and
>    MIPS64_r_info() written by Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
>
>    ----
>    [1] http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf
>    [2] arch/mips/include/asm/module.h
>
>    Tested-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx>
>    Signed-off-by: John Reiser <jreiser@xxxxxxxxxxxx>
>    Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx>
>    LKML-Reference: <AANLkTinwXjLAYACUfhLYaocHD_vBbiErLN3NjwN8JqSy@xxxxxxxxxxxxxx>
>    LKML-Reference: <910dc2d5ae1ed042df4f96815fe4a433078d1c2a.1288176026.git.wuzhangjin@xxxxxxxxx>
>    Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
>    Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
>
> :040000 040000 c208c976b8bd3eb28791d0e96dcb24967586fbb0 28da1214674ed267e0c4aa249379504bc8b20216 M      scripts
>
> This seems to be tool chain specific.  We are using a PowerPC hosted
> x86_64 cross compiler:
>
> x86_64-linux-gcc (GCC) 4.4.3
> GNU ld (GNU Binutils) 2.20
>
> [It does *not* fail for our x86_64 hosted x86_64 compiler:
>
> x86_64-linux-gcc (GCC) 4.4.4
> GNU ld (GNU Binutils) 2.20
> ]
>
> I tried reverting that commit (and the next commit
> 412910cd046c1f14f0fba9c0aec401d47e57dcd1 "ftrace/MIPS: Add module support
> for C version of recordmcount" because of conflicts) and the build of
> Linus' current tree now succeeds with the above toolchain,
>
> --
> Cheers,
> Stephen Rothwell                    sfr@xxxxxxxxxxxxxxxx
> http://www.canb.auug.org.au/~sfr/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/