linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).