OSDN Git Service

A patch from our Blackfin repository, originally from Jie Zhang. This fixes
[uclinux-h8/uClibc.git] / libc / sysdeps / linux / i960 / README
1 Overview
2 ---------------------------------------------------------------------------
3
4 This is the README file for the i960 support in uClibc.
5
6 This has been tested with gcc 2.95.3 and i960-intel-coff target.
7
8 There is no support at all to compile with the intel CTOOLS, as this would
9 have required too many changes to uClibc.  So you won't see any support 
10 in the asm files for position independent data or code.
11
12 Quirks needed
13 ---------------------------------------------------------------------------
14
15 prepended underscore
16 --------------------
17
18 As the i960 compiler prepends an underscore to symbols, it is critical that
19 Rules.mak defines SYMBOL_PREFIX as _, such that -D__UCLIBC_UNDERSCORES__
20 is added to CFLAGS to make sure that underscores are applied to symbol
21 names when needed.
22
23
24 __va_copy in va-i960.h
25 ----------------------
26
27 When compiled with gcc-2.95, the __va_copy macro in va-i960.h seems to be broken
28 and it has to be modified in order for uClibc to compile correctly.
29
30 Change:
31
32 #define __va_copy(dest, src) (dest) = (src)
33
34 To:
35
36 #define __va_copy(dest, src)  dest[0] = src[0]; dest[1] = src[1]
37
38
39 gcc integration
40 ---------------------------------------------------------------------------
41
42 I've preferred modifying the specs file so that the i960-intel-coff compiler
43 directly compiles with uClibc.
44
45 First, compile and install the standard i960-intel-coff compiler, which is meant
46 to be used with newlib.
47
48 Then, compile uClibc, installing over the newlib include files and libraries.
49
50 Update the specs file with the included specs.uclinux.gcc-2.95.i960-intel-coff
51
52 This specs file always build relocatable objects, which has the disadvantage
53 of not letting you know if the link is missing any symbols.
54
55 coff2flt
56 ---------------------------------------------------------------------------
57
58 In order to run the executables under uClinux, fully relocatable binaries 
59 need to be built using coff2flt.
60
61 We have built a working coff2flt that works with the i960 and the current version
62 of binfmt_flat with uClinux.
63
64 Contact Martin Proulx <mproulx at okiok.com> for further informations.
65
66
67
68
69
70 Check: 
71     _mmap.S: besoin???