Re: ftrace breaks sparc64 build

Sam Ravnborg
2009-01-06T13:33:20Z

On Tue, Jan 06, 2009 at 11:35:43AM +0000, Al Viro wrote:
> On Tue, Jan 06, 2009 at 07:53:04AM +0000, Jan Beulich wrote:
>
> > The __crc_... reference is definitely bogus - none should survive with the
> > new .c->.o rule. Could you find out what object file they originate from?
>
> So can you, by use of arcane tool known as "grep"... It's in kernel/softirq.c
> and that's genksyms parser being fucked in head. Look for TYPEOF_KEYW
> in parse.y and you'll see. Especially amusing part is a kludge from
> commit a89a0a2354ae666612968e254d650bfd04f11eb6...

Any feedback on what to do to make it better?
Never used typeof myself so I do not know the exact syntax.

>
> > The others look like a tools side behavioral difference, as I never saw any
> > such. Is this problem sparc32-specific (I tested x86 and ia64 only)? What's
> > the binutils version used?
>
> 2.18.50.0.6.
>
> And no, it's not tools side. What it is, AFAICT, is that sparc32 has
> LDFLAGS_vmlinux = -r, which leaves a metric arseload of relocs that
> wouldn't have survived into vmlinux otherwise. Look at .rela__ksymtab
> in .tmp_vmlinux1, for example...

The use of -r is to support the btfixup magic.
I have been thinking of moving the btfixup phase so it happens _before_
the final link of vmlinux. This should help us here.

But I never managed to really understand what the btfixup thing is all
about and has then been sidetracked by funnier stuff.

Sam