FC 8 on Alpha question: GNU linker "ld -taso" option?

Oliver Falk oliver at linux-kernel.at
Wed Apr 23 09:24:54 UTC 2008


Hi Jim!

Jim McCarthy wrote:
> Hello --
> 
> Browsing here ...
> 
> http://buildsys.zero42.at/mash/f8/alpha/os/Packages/

You might better use http://buildsys.zero42.at/koji/ if you're looking
for some specific pkg.

> ...I find that FC 8 on Alpha includes "binutils-2.17.50" (maybe take my word
> for it, since the long list of packages takes a while to load :-).  I
> believe the GNU linker "ld" resides inside the binutils package.
>
> Looking here ...
> 
> http://sourceware.org/binutils/docs-2.17/ld/Machine-Dependent.html#Machine-D
> ependent
> 
> ...I don't see any "alpha" machine-dependent linker options in the standard
> binutils release.  Can someone tell me if, as part of the FC 8 port to
> Alpha, were there are any machine=alpha -dependent options (re)introduced
> for the GNU linker, ld ?

No. All should be upstream, thanks to Ivan. :-)

> On my DEC PWS 600au (Miata), I'm currently still using Red Hat 7.2 for
> Alpha. 

grrr... But still better than the rh 6.[1|2] machines I've seen not to
long ago :-)

> The alpha version of binutils has a linker option "ld -taso" that
> restricts executable code to the lower 32-bit range of memory (< 2Gb), such
> that pointer address values can be manipulated as 32-bit int values.   I use
> a large data analysis package written originally for VAX/VMS, and later
> ported to RISC/unix and then x86/Linux, and 32-bit integers are used
> throughout to hold pointer address values.  With some expert assistance
> years ago, I was able to build this under RH7.2 for Alpha relatively
> painlessly by adding "-Wl,-taso" to the gcc options list (which simply
> passes the "-taso" switch along to the linker).

That's the correct way to do it; taso was introduced in 2000 and went
upstream. Oh wow, that 8 years ago already...

> So my question is, if I upgrade to the latest FC 8 for Alpha, will I lose
> this machine-dependent linker option for alpha with the latest "binutils" in
> FC 8 ??

Does this answer your question:

[oliver at pils binutils-2.18.50.0.6]$ grep taso ld/emultempl/alphaelf.em
  { "taso", no_argument, NULL, OPTION_TASO },
  --taso                      Load executable in the lower 31-bit
addressable\n\


> Arguably this would be "good medicine" and motivation to properly upgrade
> the IA32 data analysis package's source codes to allow (enforce) 64-bit
> pointers on all 64-bit architectures (Alpha, ia64 = Itanium, AMD64, EM64T,
> etc.) -- a very sizeable effort [somewhere between "daunting" and
> "monumental" for me by myself] but one that would no doubt pay future
> dividends....  Still, I'd appreciate knowing if in the meantime the new FC 8
> on Alpha might have the "-taso" shortcut I could use to get up-and-running
> quickly after upgrading from RH7.2 Alpha.

Well. Better fix the source of course, but for an upgrade path, it's
there...

-of




More information about the axp-list mailing list