Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Mar 2016 07:56:36 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 207898] kernel linker behaves differently on amd64 vs. i386
Message-ID:  <bug-207898-8-ttvuC9A8uH@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-207898-8@https.bugs.freebsd.org/bugzilla/>
References:  <bug-207898-8@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D207898

--- Comment #1 from Don Lewis <truckman@FreeBSD.org> ---
Most of the kernel linker code is MI, but there is some MD code in
/usr/src/sys/{amd64/amd64,i386/i386}/elf_machdep.c.  I didn't see anything
suspicious there.

The MI code is difficult to figure out, but that is where I suspect the pro=
blem
is.  I suspect that whether or not the problem is triggered depends on the
order of the relocation entries in the .ko file.  On amd64, I see this when=
 I
run nm on the .ko file:

[snip]
                 U module_register_init
0000000000000000 b msg1
                 U msg1
0000000000000050 b msg2
                 U msg2
                 U strcpy
                 U uprintf

On i386, I see this:

[snip]
         U module_register_init
         U msg1
000014c4 b msg1
         U msg2
00001514 b msg2
         U strcpy
         U uprintf

Note that the "b" entries for msg1 and msg2 precede the "U" entries on amd6=
4,
but the reverse is true on i386.

Unfortunately this is difficult to test because swapping the order of SRCS =
does
not change the order as reported by nm.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-207898-8-ttvuC9A8uH>