From: Al Viro <viro@ftp.linux.org.uk>
To: sparclinux@vger.kernel.org
Subject: Re: [PATCH] sparc32: Fix div, udiv, mul, umul, rem, urem breakage
Date: Sun, 12 Feb 2006 03:14:43 +0000 [thread overview]
Message-ID: <20060212031443.GT27946@ftp.linux.org.uk> (raw)
In-Reply-To: <20060211113817.GA25564@palantir8>
On Sun, Feb 12, 2006 at 12:07:44PM +1100, Rusty Russell wrote:
> > You do realize that your "remove the dot" is ppc-only? I.e. just as much
> > of a special case as sparc-only mapping.
>
> No Al. Since day 1 we've had this in module-init-tools. It was used by
> both PPC and Sparc.
... by PPC to deal with odd mangling of everything, in sparc - as a kludge
for several libgcc symbols.
> Sparc stopped using it to work around sparc-specific binutils bugs. I'm
> naturally resistent to (more) arch-specific hacks in depmod. In the
> kernel, arch-specifics get testing, in module-init-tools they don't.
It's not about sparc-specific binutils bug. At all. The thing responsible
for that is gcc, not binutils.
> > Seriously, fix in depmod is considerably smaller that what you've just
> > posted, not to mention being conceptually simpler.
>
> You're exactly right. By this logic, I look forward to you fixing
> binutils.
What the hell does it have to do with binutils? There are two unrelated
things:
* on ppc, gcc -S prepends . to public symbols - i.e. if foo.c
defines bar(), you'll get .bar in foo.s.
* on sparc, names used for primitives implemented in libgcc (and
emitted by gcc when generating a call of such primitive) start with .
Both sit in gcc; the only place where binutils had ever entered the picture
was stricter handling of weak aliases. That broke original kludges in
sparc_ksyms, but it's completely unrelated to problem with mangling on
sparc.
If you are suggesting to rename symbols in sparc libgcc - sorry, can't do.
They are part of ABI, for all practical purposes.
What I really don't get is why do we want to bother with mangling at all.
I.e. why not define MODULE_SYMBOL_PREFIX to "." on ppc and be done with
that? And do an equivalent of EXPORT_SYMBOL() for use in .s, which would
be very useful thing in its own right...
next prev parent reply other threads:[~2006-02-12 3:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-11 11:38 [PATCH] sparc32: Fix div, udiv, mul, umul, rem, urem breakage Martin Habets
2006-02-11 11:51 ` William Lee Irwin III
2006-02-11 12:15 ` Al Viro
2006-02-11 13:04 ` William Lee Irwin III
2006-02-11 23:54 ` Rusty Russell
2006-02-12 0:21 ` Al Viro
2006-02-12 1:07 ` Rusty Russell
2006-02-12 3:14 ` Al Viro [this message]
2006-02-12 10:39 ` Rusty Russell
2006-02-15 11:56 ` Martin Habets
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=20060212031443.GT27946@ftp.linux.org.uk \
--to=viro@ftp.linux.org.uk \
--cc=sparclinux@vger.kernel.org \
/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.