[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1295259761.32152.20.camel@duncow>
Date: Mon, 17 Jan 2011 10:22:41 +0000
From: Richard Mortimer <richm@...elvet.org.uk>
To: David Miller <davem@...emloft.net>
Cc: richm@...elvet.org.uk, 609371@...s.debian.org, ben@...adent.org.uk,
sparclinux@...r.kernel.org, linux-kernel@...r.kernel.org,
rostedt@...dmis.org, fweisbec@...il.com, mingo@...hat.com,
Jesper.Nilsson@...s.com, jeffm@...e.com
Subject: Re: Bug#609371: linux-image-2.6.37-trunk-sparc64: module scsi_mod:
Unknown relocation: 36
On Sun, 2011-01-16 at 22:07 -0800, David Miller wrote:
> From: David Miller <davem@...emloft.net>
> Date: Sat, 15 Jan 2011 21:17:22 -0800 (PST)
> > I think the problem we have here is that the _ftrace_events section is
> > not aligned sufficiently. That ".align 4" mnemonic is a good indication
> > of this. It should at least "8" on sparc64.
>
I noticed another potentially 64 bit unfriendly alignment on struct
tracepoint in include/linux/tracepoint.h. I don't think that the
alignment of 32 breaks anything but it does leave a 24 byte hole. I
don't know enough about tracing to know if that is necessary.
struct tracepoint {
const char *name; /* Tracepoint name */
int state; /* State. */
void (*regfunc)(void);
void (*unregfunc)(void);
struct tracepoint_func *funcs;
} __attribute__((aligned(32))); /*
* Aligned on 32 bytes because it is
* globally visible and gcc happily
* align these on the structure size.
* Keep in sync with vmlinux.lds.h.
*/
Note I spotted this when looking at some residual sparc64 relocation
issues when _ftrace_events alignment is changed to 8. I'll follow those
issues up in a separate email when I get time later today.
Regards
Richard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists