summaryrefslogtreecommitdiff
path: root/doc/README.arm.cross
blob: 0ededbd9bb31940ecb42e632edee8999067c99cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
From: Margaret Fleck

Here's the key details of what worked for me, in case anyone else needs them.
There may well be better ways to do some of this, but ....
   -- Margaret


The badge4 has a StrongArm-1110 processor and a StrongArm-1111 coprocessor.

Assume that the garbage collector distribution is unpacked into /home/arm/gc6.0,
which is visible to both the ARM machine and a linux desktop (e.g. via NFS mounting).

Assume that you have a file /home/arm/config.site with contents something like the
example attached below.  Notice that our local ARM toolchain lives in
/skiff/local.

Go to /home/arm/gc6.0 directory.  Do
  CONFIG_SITE=/home/arm/config.site ./configure --target=arm-linux
--prefix=/home/arm/gc6.0

On your desktop, do:
   make
   make install
The main garbage collector library should now be in ../gc6.0/lib/libgc.so.

To test the garbage collector, first do the following on your desktop
   make gctest
   ./gctest
Then do the following on the ARM machine
   cd .libs
   ./lt-gctest

Do not try to do "make test" (the usual way of running the test
program).  This does not work and seems to erase some of the important
files.

The gctest program claims to have succeeded.  Haven't run any further tests
with it, though I'll be doing so in the near future.

-------------------------------
# config.site for configure

HOSTCC=gcc

# Names of the cross-compilers
CC=/skiff/local/bin/arm-linux-gcc
CXX=/skiff/local/bin/arm-linux-gcc

# The cross compiler specific options
CFLAGS="-O2 -fno-exceptions"
CXXFLAGS="-O2 -fno-exceptions"
CPPFLAGS="-O2 -fno-exceptions"
LDFLAGS=""

# Some other programs
AR=/skiff/local/bin/arm-linux-ar
RANLIB=/skiff/local/bin/arm-linux-ranlib
NM=/skiff/local/bin/arm-linux-nm
ac_cv_path_NM=/skiff/local/bin/arm-linux-nm
ac_cv_func_setpgrp_void=yes
x_includes=/skiff/local/arm-linux/include/X11
x_libraries=/skiff/local/arm-linux/lib/X11