* [PATCH] Fix endianess in modpost when cross-compiling for sparc on i386
@ 2004-05-12 19:13 Mathieu Chouquet-Stringer
0 siblings, 0 replies; only message in thread
From: Mathieu Chouquet-Stringer @ 2004-05-12 19:13 UTC (permalink / raw)
To: linux-kernel, sparclinux; +Cc: torvalds
Hi,
this simple patch makes the following code work again:
#ifdef STT_REGISTER
if (info->hdr->e_machine == EM_SPARC ||
info->hdr->e_machine == EM_SPARCV9) {
/* Ignore register directives. */
if (ELF_ST_TYPE(sym->st_info) == STT_REGISTER)
break;
}
#endif
This portion of code is sparc specific and nothing else in modpost.c uses
e_machine meaning cross-compiling for sparc on i386 (or any little endian
machine) is the only way to experience the bug.
Without it, e_machine has the wrong value and modpost then generates a lot
of "*** Warning: \"symbol\" [filename.ko] undefined" messages.
--- scripts/modpost.c.orig 2004-05-12 13:58:58.000000000 -0400
+++ scripts/modpost.c 2004-05-12 14:05:20.000000000 -0400
@@ -267,6 +267,7 @@
hdr->e_shoff = TO_NATIVE(hdr->e_shoff);
hdr->e_shstrndx = TO_NATIVE(hdr->e_shstrndx);
hdr->e_shnum = TO_NATIVE(hdr->e_shnum);
+ hdr->e_machine = TO_NATIVE(hdr->e_machine);
sechdrs = (void *)hdr + hdr->e_shoff;
info->sechdrs = sechdrs;
--
Mathieu Chouquet-Stringer E-Mail: mchouque@online.fr
Never attribute to malice that which can be adequately
explained by stupidity.
-- Hanlon's Razor --
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-05-12 19:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-12 19:13 [PATCH] Fix endianess in modpost when cross-compiling for sparc on i386 Mathieu Chouquet-Stringer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).