| 1 | This is a BETA release of a completely rewritten GNU linker. |
| 2 | It is distributed with other "binary utilities" which should |
| 3 | be in ../binutils. See ../binutils/README for more general notes, |
| 4 | including where to send bug reports. |
| 5 | |
| 6 | There are many new features of the linker: |
| 7 | |
| 8 | * The linker uses a Binary File Descriptor library (../bfd) |
| 9 | that it uses to read and write object files. This helps |
| 10 | insulate the linker itself from the format of object files. |
| 11 | |
| 12 | * The linker support a number of different object file |
| 13 | formats. It can even handle multiple formats at once: |
| 14 | Read two input formats and write a third. |
| 15 | |
| 16 | * The linker can be configured for cross-linking. |
| 17 | |
| 18 | * The linker contains a control language. |
| 19 | |
| 20 | * There is a manual. |
| 21 | |
| 22 | Installation |
| 23 | ============ |
| 24 | |
| 25 | See ../binutils/README. |
| 26 | If you want to make a cross-linker, you may want to specify |
| 27 | a different search path of -lfoo libraries than the default. |
| 28 | You can do this by setting the LIB_PATH variable in ./Makefile. |
| 29 | |
| 30 | Porting to a new target |
| 31 | ======================= |
| 32 | |
| 33 | A new target configuration may need a new linker script (.sc file) |
| 34 | to specify linker actions (such as the layout of the output). |
| 35 | See if one of the existing ones are suitable. |
| 36 | Note that the Makefile generates variants of the standard script |
| 37 | that are used when ld is passed -r -Ur -N or -n options. |
| 38 | These variant default scripts are generated from the "master" |
| 39 | script using sed scripts that may not work in all cases. |
| 40 | Look at the rules and comments in ld/Makefile.in to make sure |
| 41 | you stay with the rules. |
| 42 | |
| 43 | Otherwise, you may need to add a new "emulation" (a sample of a |
| 44 | recently added target and emulation is for the SOny 68k News |
| 45 | family - look for files named *news*). |
| 46 | |
| 47 | Also see the notes in ../binutils/README. |
| 48 | |
| 49 | Reporting bugs etc |
| 50 | =========================== |
| 51 | See ../binutils/README. |