From: Carlos O'Donell <carlos@baldric.uwo.ca>
To: John David Anglin <dave@hiauly1.hia.nrc.ca>
Cc: parisc-linux@lists.parisc-linux.org
Subject: Re: [parisc-linux] Applications in 64 bits userspace
Date: Fri, 4 Apr 2003 13:08:41 -0500 [thread overview]
Message-ID: <20030404180841.GP7542@systemhalted> (raw)
In-Reply-To: <200304040002.h3402U4u020233@hiauly1.hia.nrc.ca>
John,
> I can't answer that. Presumably, HP funded the development. Possibly,
> they were considering using the GNU linker but then decided to go with
> a different port. I do most of my 64-bit testing now with the HPUX
> linker. There were some rough edges in using the HP linker with GCC
> a few months ago but these have been resolved.
I get random email from people who've seen my libc-alpha postings, and
they want to know how to fix their busted gcc (hppa2.0w) + HPUX linker
compiles... looks like floating point loads and stores with bad
relocations (the reason we disable fpregs in the rtld code for glibc).
> The HP linker is not compliant with the sysv ELF ABI in its handling
> of weak symbols. Undefined weak symbols are supposed to resolve
> to a value of 0, and the linker is not supposed to search archive
> libraries for undefined weaks. I tried hacking GNU ld to see if
> this could be fixed but this isn't possible since the dynamic loader
> has the same behavior. Basically, weak symbols appear to behave
> like secondary definition symbols with the SOM runtime. The lack
> of proper weak support impacts GCC thread support.
Ick! Okay, I see why the initial intent to transition toolchains was
made. Though it still probably kicks our arse in terms of performance.
> I presume you are talking about the implementation for lazy linking.
> I know the ia64 implementation of function descriptors differs from
> what is done for the 32-bit hppa ports.
See Lu's patch at:
http://sources.redhat.com/ml/libc-alpha/2003-04/msg00048.html
It's a unification effort to try get arches that use func. desc. onto
the same page... hopefully lockless lookups and lazy linking :)
> Ok. I should note that the current 64-bit GNU ld doesn't know how
> to do a true static link.
How so? -static and -nostdlib and add all the bits yourself?
> I certainly agree with that plan. 64-bit code is always going to
> be slower than 32-bit code, so it shouldn't be used unless really
> needed.
It would still be a nice treat to get more testing on the 64-bit
compiler, and be able to run bigger apps on the bigger PARISC boxes once
they become available :)
Though, yes, the current plan is, without fail, in the order I feel like
fixing them today:
- make -k check passes
- function descriptor fixes
- TLS support
- Static 64-bit userspace
c.
next prev parent reply other threads:[~2003-04-04 18:08 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-03 18:12 [parisc-linux] Applications in 64 bits userspace Rodrigo Colao Merlo
2003-04-03 18:45 ` Matthew Wilcox
2003-04-03 22:19 ` John David Anglin
2003-04-03 22:52 ` Carlos O'Donell
2003-04-04 0:02 ` John David Anglin
2003-04-04 18:08 ` Carlos O'Donell [this message]
2003-04-04 18:48 ` John David Anglin
2003-04-04 22:07 ` Carlos O'Donell
2003-04-04 22:12 ` John David Anglin
2003-04-05 17:14 ` Carlos O'Donell
2003-04-05 18:10 ` John David Anglin
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=20030404180841.GP7542@systemhalted \
--to=carlos@baldric.uwo.ca \
--cc=dave@hiauly1.hia.nrc.ca \
--cc=parisc-linux@lists.parisc-linux.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox