All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shane Hathaway <shane@hathawaymix.org>
To: Daolong Wang <ahlongxp@gmail.com>
Cc: user-mode-linux-devel@lists.sourceforge.net,
	Jeff Dike <jdike@addtoit.com>,
	linux-kernel@vger.kernel.org, Rob Landley <rob@landley.net>,
	Am?rico Wang <xiyou.wangcong@gmail.com>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [uml-devel] [Patch] uml: fix a link error
Date: Mon, 19 Jan 2009 19:01:07 -0700	[thread overview]
Message-ID: <49753063.8040007@hathawaymix.org> (raw)
In-Reply-To: <dc84318c0901191746g31d51c23g65da89190dc8bfd2@mail.gmail.com>

Daolong Wang wrote:
> On Mon, Jan 19, 2009 at 11:21 PM, Jeff Dike <jdike@addtoit.com> wrote:
>> On Sun, Jan 18, 2009 at 02:23:46PM +0800, Daolong Wang wrote:
>>> I can confirm this link error.
>> In what environment?  I see no problems here.

I can also confirm this link error.  The problem occurs when compiling
either 2.6.28.1 or 2.6.27.12; I didn't try anything earlier.  The patch
suggested at this beginning of this thread did solve the link problem
and the resulting kernel ran for several hours.  However, I think the
patch is still probably incorrect.

I'm going to repost what I said in another message I sent today, this
time with a wider audience:

The problem is that the name "sigprocmask" is getting renamed to
"kernel_sigprocmask" by a compiler directive in arch/um/Makefile, then
that name gets mangled into "sys_kernel_sigprocmask" by the
SYSCALL_DEFINE3(sigprocmask, ...) macro in kernel/signal.c.

So, instead of the patch suggested earlier, I added the following line
to arch/um/sys-i386/sys_call_table.S:

#define sys_sigprocmask sys_kernel_sigprocmask

This made it compile and link correctly.  Look at the symbols generated
by the compile of signal.c to see what I mean:

# nm kernel/signal.o | grep sigprocmask
0000008f r __kstrtab_kernel_sigprocmask
00000040 r __ksymtab_kernel_sigprocmask
00001ea6 T kernel_sigprocmask
00002d67 T sys_kernel_sigprocmask
00001faf T sys_rt_sigprocmask

Unfortunately, it's a mystery to me that others haven't run into this
before.  My host environment is RHEL 4 inside some kind of chroot.

Shane


------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

WARNING: multiple messages have this Message-ID (diff)
From: Shane Hathaway <shane@hathawaymix.org>
To: Daolong Wang <ahlongxp@gmail.com>
Cc: Jeff Dike <jdike@addtoit.com>, Rob Landley <rob@landley.net>,
	user-mode-linux-devel@lists.sourceforge.net,
	Andrew Morton <akpm@linux-foundation.org>,
	Am?rico Wang <xiyou.wangcong@gmail.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [uml-devel] [Patch] uml: fix a link error
Date: Mon, 19 Jan 2009 19:01:07 -0700	[thread overview]
Message-ID: <49753063.8040007@hathawaymix.org> (raw)
In-Reply-To: <dc84318c0901191746g31d51c23g65da89190dc8bfd2@mail.gmail.com>

Daolong Wang wrote:
> On Mon, Jan 19, 2009 at 11:21 PM, Jeff Dike <jdike@addtoit.com> wrote:
>> On Sun, Jan 18, 2009 at 02:23:46PM +0800, Daolong Wang wrote:
>>> I can confirm this link error.
>> In what environment?  I see no problems here.

I can also confirm this link error.  The problem occurs when compiling
either 2.6.28.1 or 2.6.27.12; I didn't try anything earlier.  The patch
suggested at this beginning of this thread did solve the link problem
and the resulting kernel ran for several hours.  However, I think the
patch is still probably incorrect.

I'm going to repost what I said in another message I sent today, this
time with a wider audience:

The problem is that the name "sigprocmask" is getting renamed to
"kernel_sigprocmask" by a compiler directive in arch/um/Makefile, then
that name gets mangled into "sys_kernel_sigprocmask" by the
SYSCALL_DEFINE3(sigprocmask, ...) macro in kernel/signal.c.

So, instead of the patch suggested earlier, I added the following line
to arch/um/sys-i386/sys_call_table.S:

#define sys_sigprocmask sys_kernel_sigprocmask

This made it compile and link correctly.  Look at the symbols generated
by the compile of signal.c to see what I mean:

# nm kernel/signal.o | grep sigprocmask
0000008f r __kstrtab_kernel_sigprocmask
00000040 r __ksymtab_kernel_sigprocmask
00001ea6 T kernel_sigprocmask
00002d67 T sys_kernel_sigprocmask
00001faf T sys_rt_sigprocmask

Unfortunately, it's a mystery to me that others haven't run into this
before.  My host environment is RHEL 4 inside some kind of chroot.

Shane


  reply	other threads:[~2009-01-20  3:53 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-15 19:40 [uml-devel] [Patch] uml: fix a link error Américo Wang
2009-01-15 19:40 ` Américo Wang
2009-01-16 20:41 ` [uml-devel] " Andrew Morton
2009-01-16 20:41   ` Andrew Morton
2009-01-16 21:38   ` [uml-devel] " Jeff Dike
2009-01-16 21:38     ` Jeff Dike
2009-01-17  9:28   ` [uml-devel] " Rob Landley
2009-01-17  9:28     ` Rob Landley
2009-01-18  6:23     ` Daolong Wang
2009-01-18  6:23       ` Daolong Wang
2009-01-19 15:21       ` Jeff Dike
2009-01-19 15:21         ` Jeff Dike
2009-01-20  1:46         ` Daolong Wang
2009-01-20  1:46           ` Daolong Wang
2009-01-20  2:01           ` Shane Hathaway [this message]
2009-01-20  2:01             ` Shane Hathaway
2009-01-27  9:23             ` Al Viro
2009-01-27  9:23               ` Al Viro
2009-02-04 17:26             ` Geert Uytterhoeven
2009-02-04 17:26               ` Geert Uytterhoeven
2009-02-04 20:32               ` Geert Uytterhoeven
2009-02-04 20:32                 ` Geert Uytterhoeven
2009-02-04 20:40                 ` Greg KH
2009-02-04 20:40                   ` Greg KH
2009-02-04 20:54                   ` Geert Uytterhoeven
2009-02-04 20:54                     ` Geert Uytterhoeven
2009-02-07 11:59                     ` Heiko Carstens
2009-02-07 11:59                       ` Heiko Carstens
2009-02-08  9:07                       ` Américo Wang
2009-02-08  9:07                         ` Américo Wang
2009-02-08  9:12                         ` Américo Wang
2009-02-08  9:12                           ` Américo Wang
2009-02-12 14:40                       ` Geert Uytterhoeven
2009-02-12 14:40                         ` Geert Uytterhoeven
2009-01-18  8:32     ` Américo Wang
2009-01-18  8:32       ` Américo Wang
2009-01-18 23:29       ` Rob Landley
2009-01-18 23:29         ` Rob Landley
2009-01-22 16:12         ` Américo Wang
2009-01-22 16:12           ` Américo Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49753063.8040007@hathawaymix.org \
    --to=shane@hathawaymix.org \
    --cc=ahlongxp@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=jdike@addtoit.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rob@landley.net \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.