Skip site navigation (1)Skip section navigation (2)
Date:      09 Apr 2001 13:16:42 +0100
From:      Rolf Neugebauer <neugebar@dcs.gla.ac.uk>
To:        freebsd-alpha@FreeBSD.ORG
Subject:   Re: 64bits mixups (Was: Re: Vinum status)
Message-ID:  <ysqn19q2rpx.fsf@therese.dcs.gla.ac.uk>
In-Reply-To: Andrew Gallatin's message of "Sun, 8 Apr 2001 15:50:38 -0400 (EDT)"
References:  <20010408030913.213D1380A@overcee.netplex.com.au> <3AD05711.7000002@videotron.ca> <15056.35511.810402.576637@grasshopper.cs.duke.edu> <ysqr8z32oak.fsf@therese.dcs.gla.ac.uk> <15056.49422.725576.853296@grasshopper.cs.duke.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Andrew Gallatin <gallatin@cs.duke.edu> writes:

> Rolf Neugebauer writes:
>  > 
>  > taso actually is a linker option, ie independent of the compiler.
> 
> Ah, yes.  I was actually thinking of this (Tru64) option:
> 
>   -xtaso_short
>       Directs the compiler to allocate 32-bit pointers by default.  You can
>       still use 64-bit pointers, but only by the use of pragmas.  The
>       -xtaso_short option also implies -xtaso; that is, -xtaso_short also
>       causes the compiler to respect the pointer_size pragmas.
> 
>       The use of the -xtaso_short option can cause conflicts between the
>       compiler's assumptions about pointer sizes and data layouts and the
>       default values that were in effect when the system libraries were
>       created.  See protect_headers_setup(8) for details on how to avoid this
>       conflict.
> 
> 
>  > There is also a version of the GNU ld which implements this flag. IIRC
>  > this is not (yet?) part of the standard binutils distro, but is in a
>  > separate Linux branch. I once installed it on an Alpha/Linux box but
>  > can't remember were I downloaded it from :(
> 
> Oh, That's interesting.  I thought the Linux people were fundamentally
> opposed to this.

I am not sure about this. Folks on the linux-axp certainly seam to
appreciate it. Someone in our department briefly used it feature and
said it worked fine for one of the apps he needed it for.

The Linux binutils are on any kernel.org mirror under
pub/linux/devel/binutils. The version I just checked is 2.11.90.0.4
and ld/ChangeLog contains the following comment:

2000-07-27  Ivan Kokshaysky  <ink@jurassic.park.msu.ru>

        * emulparams/elf64alpha.sh: Implement "-taso" emulation
        specific option to fit 64-bit executable in the lower
        31-bit address range.  This is done by changing start
        address of .interp (the very first section of executable)
        and then setting EF_ALPHA_32BIT elf header flag.

Ivan explained in a recent posting
http://www.alphalinux.org/archives/axp-list/December2000/0034.shtml
that Richard Henderson came up with the initial idea and he
implemented it. I vaguely recall that Richard posted this idea to the
same list but I couldn't find his message.

In the same post Ivan also says that the change made it into the
official 2.10 binutils but I couldn't find taso being referenced in
the 2.10.1 source anywhere. 

Rolf

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ysqn19q2rpx.fsf>