Mike Frysinger 3ceb3bcb76 change NO_UNDERSCORES to just UNDERSCORES so as to be less confusing when doing double negatives 17 年之前
..
bits 3ceb3bcb76 change NO_UNDERSCORES to just UNDERSCORES so as to be less confusing when doing double negatives 17 年之前
sys b34e006872 Patch from Martin Proulx <mproulx@okiok.com> to support 22 年之前
AUTHORS b34e006872 Patch from Martin Proulx <mproulx@okiok.com> to support 22 年之前
Makefile 7cf4df48fd fix license notice 18 年之前
README 3ceb3bcb76 change NO_UNDERSCORES to just UNDERSCORES so as to be less confusing when doing double negatives 17 年之前
clone.S 4646645b53 Remove __clone, add it only back, if threads has a another (strong) version, that needs to overwrite this 18 年之前
crt0.S cd411309b5 __data_start needs to be added to all crt0.S files that don't currently 20 年之前
mmap.S 6334e558ab Split up syscalls.c, since it had grown to be quite large and ugly. 21 年之前
setjmp.S b34e006872 Patch from Martin Proulx <mproulx@okiok.com> to support 22 年之前
specs.uclinux.gcc-2.95.i960-intel-coff b34e006872 Patch from Martin Proulx <mproulx@okiok.com> to support 22 年之前
vfork.S b908ff0456 Weaken all internal vfork versions in asm code, wondering why only some of the archs fail 19 年之前

README

Overview
---------------------------------------------------------------------------

This is the README file for the i960 support in uClibc.

This has been tested with gcc 2.95.3 and i960-intel-coff target.

There is no support at all to compile with the intel CTOOLS, as this would
have required too many changes to uClibc. So you won't see any support
in the asm files for position independent data or code.

Quirks needed
---------------------------------------------------------------------------

prepended underscore
--------------------

As the i960 compiler prepends an underscore to symbols, it is critical that
bits/uClibc_arch_features.h defines __UCLIBC_UNDERSCORES__
to make sure that underscores are applied to symbol names when needed.


__va_copy in va-i960.h
----------------------

When compiled with gcc-2.95, the __va_copy macro in va-i960.h seems to be broken
and it has to be modified in order for uClibc to compile correctly.

Change:

#define __va_copy(dest, src) (dest) = (src)

To:

#define __va_copy(dest, src) dest[0] = src[0]; dest[1] = src[1]


gcc integration
---------------------------------------------------------------------------

I've preferred modifying the specs file so that the i960-intel-coff compiler
directly compiles with uClibc.

First, compile and install the standard i960-intel-coff compiler, which is meant
to be used with newlib.

Then, compile uClibc, installing over the newlib include files and libraries.

Update the specs file with the included specs.uclinux.gcc-2.95.i960-intel-coff

This specs file always build relocatable objects, which has the disadvantage
of not letting you know if the link is missing any symbols.

coff2flt
---------------------------------------------------------------------------

In order to run the executables under uClinux, fully relocatable binaries
need to be built using coff2flt.

We have built a working coff2flt that works with the i960 and the current version
of binfmt_flat with uClinux.

Contact Martin Proulx for further informations.





Check:
_mmap.S: besoin???