AminetAminet
Search:
84450 packages online
About
Recent
Browse
Search
Upload
Setup
Services

dev/gcc/x86-ami-bin.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:Binutils v2.9.1 - Amithlon x86 binutils (68k hosted)
Author:Jens.Langner at light-speed.de (Jens Langner)
Uploader:Jens Langner light-speed de (Jens Langner)
Type:dev/gcc
Version:2.9.1
Requires:dev/gcc/x86-ami-gcc.lha
Architecture:m68k-amigaos; i386-amithlon
Date:2002-07-25
Download:http://aminet.net/dev/gcc/x86-ami-bin.lha - View contents
Readme:http://aminet.net/dev/gcc/x86-ami-bin.readme
Downloads:1027

About
-----
This archive contains the binutils 2.9.1 version of the AmigaOS (68k)
hosted binutils for compiling/porting existing applications to
Amithlon (x86).

By installing this cross binutils, one will be able to
easily port existing AmigaOS application to the new x86 hosted
Amithlon emulation (www.amithlon.net) together with the cross-compiler
also published as x86-ami-gcc.lha on Aminet.

This version is based on the 2.9.1 version of the binutils with changes
mainly made by Martin Blom <martin at blom.org>.
http://www.lysator.liu.se/~lcs/files/gg-cross

Please note that you also need the x86-ami-gcc.lha archive to
successfully use the cross-binutils together with the gcc compiler.

Jens Langner <Jens.Langner at light-speed.de>
July 2002

Documentation
-------------

Setting up a i686be-amithlon cross compiler under AmigaOS
---------------------------------------------------------

1) If you don't have a GeekGadget environment:

Make a GeekGadget directory somewhere, and assign GG: to it.

   1> makedir some_volume:GeekGadgets
   1> assign GG: some_volume:GeekGadgets

Make a GG:bin directory, and add it to your path, or add it to
your c: assign.

   1> makedir GG:bin
   1> path GG:bin add


2) Unarchive the "x86-ami-bin.lha" and "x86-ami-gcc.lha" in GG:

   1> cd GG:
   1> lha x  some_dir/x86-ami-bin.lha
   1> lha x  some_dir/x86-ami-gcc.lha

 Warning 1:
 ----------
If you are unarchiving on a filesystem that doesn't support
hard-links (e.g. SFS), you will have error messages and will
need to make the links by hand (or replace them with copies).
You need to have:
  gg:i686be-amithlon/bin/as     ->  gg:bin/i686be-amithlon-as
  gg:i686be-amithlon/bin/ar     ->  gg:bin/i686be-amithlon-ar
  gg:i686be-amithlon/bin/ld     ->  gg:bin/i686be-amithlon-ld
  gg:i686be-amithlon/bin/nm     ->  gg:bin/i686be-amithlon-nm
  gg:i686be-amithlon/bin/ranlib ->  gg:bin/i686be-amithlon-ranlib
  gg:i686be-amithlon/bin/strip  ->  gg:bin/i686be-amithlon-strip

where "->" means "link to" or "copy of".

 Warning 2:
 ----------
If using soft links, you have to specify the full path of the
destination, not just a relative one.

 Warning 3:
 ----------
If using soft links under SFS, you need at least SFS version 1.62.


3) Copy the contents of the amithlon gcc includes to
   GG:i686be-amithlon/sys-include

    1> copy somepath/includeamithlon GG:i686be-amithlon/sys-include all


4) Copy the lib directory from the amithlon lib archive to
   GG:i686be-amithlon/lib and GG:i686be-amithlon/lib/libnix

    1> copy somepath/lib/libamigastubs.a GG:i686be-amithlon/lib

    1> copy somepath/lib/libnix GG:i686be-amithlon/lib ALL

  you can get those files from
  http://www.lysator.liu.se/~lcs/files/gg-cross


    Usage
    -----

Currently, as there is no ixemul part for this amithlon gcc compiler,
you always have to specify -noixemul for compiling something.

To compile 'hello.c' to 'hello' using libnix:

   1> i686be-amithlon-gcc -noixemul -o hello hello.c

To strip debugging informations and symbols from an executable file:

   1> i686be-amithlon-strip hello

To compile and link separately:

   1> i686be-amithlon-gcc -noixemul -c hello1.c
   1> i686be-amithlon-gcc -noixemul -c hello2.c
   1> i686be-amithlon-gcc -noixemul -r -o hello hello1.o hello2.o

(the last step can be replaced by a direct call to i686be-amithlon-ld)

Please note that your have to use the "-r" option for the moment like
in former PowerUP days, as the linker isn`t fully working yet without
it.

* Some useful options:

   -O, -O2, -O3 to optimize (-O3 make files bigger, be careful)

   -mcpu=i386, -mcpu=i486, -mcpu=pentium, -mcpu=k6 to optimize for a
   specific cpu. Files optimized for one processor still work on others.

   -v to view the exact commands executed by gcc, and its include
search path. Useful to find out installation problems.


* Predefined symbols:

__ELF__, __pentiumpro__, __amithlon__

__i386__ if compiled with -mcpu=i386
__i486__ if compiled with -mcpu=i486
__i586__ if compiled with -mcpu=i586 or -mcpu=k6
__i686__ if compiled without -mcpu= or -mcpu=pentiumpro

__amigaos__, amigaos, amiga, AMIGA, MCH_AMIGA for compatibility


* Some remarks:

1) This compiler uses the natural alignment, i.e. in
   struct S
   {
     short a;
     long b;
   };

the offset of 'b' is 4, and not 2 as with 68k compilers. You can
force the alignment to be 2 by defining S as follow:

  struct S
  {
    short a;
    long b __attribute__((aligned(2)));
  } __attribute__((packed));

or even better by:

  #pragma pack(2)
   struct S
   {
     short a;
     long b;
   };
  #pragma pack()
 
Usually you shouldn't care about that, except in interfaces with
external libraries, or for binary compatibility if you read/write
such structures from/to files.

Attn: floats and doubles must _never_ have an alignment lower than 4.

2) The diff file on which this release was build can be found at:
   http://www.lysator.liu.se/~lcs/files/gg-cross

Have phun
and keep up the good work

Jens Langner <Jens.Langner at light-speed.de>
July 2002


Contents of dev/gcc/x86-ami-bin.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO     CRC       STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic]                97718  190560  51.3% -lh5- 8cb5 Jul 24  2002 bin/i686be-amithlon-addr2line
[generic]                96354  188888  51.0% -lh5- 4e8f Jul 24  2002 bin/i686be-amithlon-ar
[generic]               167806  331404  50.6% -lh5- 0dfd Jul 24  2002 bin/i686be-amithlon-as
[generic]                19261   45704  42.1% -lh5- fb95 Jul 24  2002 bin/i686be-amithlon-c++filt
[generic]                25268   48024  52.6% -lh5- 4b3b Jul 24  2002 bin/i686be-amithlon-gasp
[generic]               155668  324312  48.0% -lh5- 9133 Jul 24  2002 bin/i686be-amithlon-ld
[generic]               101487  198976  51.0% -lh5- 19c7 Jul 24  2002 bin/i686be-amithlon-nm
[generic]               160827  318896  50.4% -lh5- fd87 Jul 24  2002 bin/i686be-amithlon-objcopy
[generic]               175429  362252  48.4% -lh5- 9596 Jul 24  2002 bin/i686be-amithlon-objdump
[generic]                96439  188888  51.1% -lh5- f7a7 Jul 24  2002 bin/i686be-amithlon-ranlib
[generic]                90027  175672  51.2% -lh5- c97b Jul 24  2002 bin/i686be-amithlon-size
[generic]                89397  174536  51.2% -lh5- fa61 Jul 24  2002 bin/i686be-amithlon-strings
[generic]               160828  318896  50.4% -lh5- 11bd Jul 24  2002 bin/i686be-amithlon-strip
[generic]                 7097   19064  37.2% -lh5- 02ea Jan  1  1990 copying
[generic]                30932   96277  32.1% -lh5- 7520 Jan  1  1990 guide/standards.guide
[generic]                96354  188888  51.0% -lh5- 4e8f Jul 24  2002 i686be-amithlon/bin/ar
[generic]               167806  331404  50.6% -lh5- 0dfd Jul 24  2002 i686be-amithlon/bin/as
[generic]               155668  324312  48.0% -lh5- 9133 Jul 24  2002 i686be-amithlon/bin/ld
[generic]               101487  198976  51.0% -lh5- 19c7 Jul 24  2002 i686be-amithlon/bin/nm
[generic]                96439  188888  51.1% -lh5- f7a7 Jul 24  2002 i686be-amithlon/bin/ranlib
[generic]               160828  318896  50.4% -lh5- 11bd Jul 24  2002 i686be-amithlon/bin/strip
[generic]                 1317    4062  32.4% -lh5- a6dd Jul 23  2002 i686be-amithlon/lib/ldscripts/amithlon.x
[generic]                 1296    4029  32.2% -lh5- 35ef Jul 23  2002 i686be-amithlon/lib/ldscripts/amithlon.xbn
[generic]                 1317    4062  32.4% -lh5- a6dd Jul 23  2002 i686be-amithlon/lib/ldscripts/amithlon.xn
[generic]                 1215    3777  32.2% -lh5- 35d7 Jul 23  2002 i686be-amithlon/lib/ldscripts/amithlon.xr
[generic]                 1307    4031  32.4% -lh5- eca1 Jul 23  2002 i686be-amithlon/lib/ldscripts/amithlon.xs
[generic]                 1228    3794  32.4% -lh5- 5210 Jul 23  2002 i686be-amithlon/lib/ldscripts/amithlon.xu
[generic]                 1954    4716  41.4% -lh5- 0c0c Jul 23  2002 include/ansidecl.h
[generic]                27058   98588  27.4% -lh5- c09f Jul 23  2002 include/bfd.h
[generic]                 6080   20433  29.8% -lh5- 3650 Jul 23  2002 include/bfdlink.h
[generic]                  840    1758  47.8% -lh5- 6522 Jan  1  1990 info/standards.info
[generic]               540150 1394818  38.7% -lh5- 425a Jul 23  2002 lib/libbfd.a
[generic]                  253     422  60.0% -lh5- c56a Jul 23  2002 lib/libbfd.la
[generic]                57562  159714  36.0% -lh5- cc85 Jul 23  2002 lib/libiberty.a
[generic]                46143  138196  33.4% -lh5- 9937 Jul 23  2002 lib/libopcodes.a
[generic]                  257     434  59.2% -lh5- 80e4 Jul 23  2002 lib/libopcodes.la
[generic]                 1189    2783  42.7% -lh5- d291 Jul 23  2002 man/man1/i686be-amithlon-addr2line.1
[generic]                 3869   10683  36.2% -lh5- 5e24 Jul 23  2002 man/man1/i686be-amithlon-ar.1
[generic]                 2909    7197  40.4% -lh5- 53c8 Jul 23  2002 man/man1/i686be-amithlon-as.1
[generic]                 1436    3151  45.6% -lh5- 25c9 Jul 23  2002 man/man1/i686be-amithlon-c++filt.1
[generic]                 9398   26832  35.0% -lh5- 44b4 Jul 23  2002 man/man1/i686be-amithlon-ld.1
[generic]                 1184    2958  40.0% -lh5- 58f0 Jul 23  2002 man/man1/i686be-amithlon-nlmconv.1
[generic]                 2149    5333  40.3% -lh5- 6bb2 Jul 23  2002 man/man1/i686be-amithlon-nm.1
[generic]                 3723   11565  32.2% -lh5- 70de Jul 23  2002 man/man1/i686be-amithlon-objcopy.1
[generic]                 3243    9358  34.7% -lh5- 8eef Jul 23  2002 man/man1/i686be-amithlon-objdump.1
[generic]                  949    1959  48.4% -lh5- 5f9c Jul 23  2002 man/man1/i686be-amithlon-ranlib.1
[generic]                 1390    3288  42.3% -lh5- 2570 Jul 23  2002 man/man1/i686be-amithlon-size.1
[generic]                 1368    3262  41.9% -lh5- fb32 Jul 23  2002 man/man1/i686be-amithlon-strings.1
[generic]                 1616    4740  34.1% -lh5- 56e8 Jul 23  2002 man/man1/i686be-amithlon-strip.1
[generic]                 2117    5276  40.1% -lh5- e26a Jul 24  2002 x86-ami-bin.readme
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total        50 files 2977637 6474932  46.0%            Jul 25  2002

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>