accdd8107f
C-referenceable names, i.e. "link sets") that happens with explicit LMAs in the linker script: * As orphans are sorted after sections, the effective size of the section is changed. Record a size ajustment for each orphan that is sorted after the section. ...and for sections which have an explicit load address expression: * The first time an orphan is sorted after a section, copy the load_base expression to the orphan, adding the _unadjusted_ size of the parent section. We need to use the unadjusted size because by the time the expression can be folded, all of the orphan size adjustments will have accumulated, resulting in misplacing the orphan. * For each subsequent orphan sorted after a section, set the load_base of the orphan to the load address of the previous orphan plus the size of the previous orphan (actually, the unadjusted size, but for orphans, size and unadjusted size are always equal).
$NetBSD: README.toolchain,v 1.3 2001/10/15 18:28:28 bjh21 Exp $ HOW TO BUILD A CROSS COMPILER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [Section to be written.] See also: http://www.netbsd.org/Documentation/cross/ IMPORTED VERSIONS ~~~~~~~~~~~~~~~~~ The following software is in gnusrc/gnu/dist/toolchain, in a unified build structure: gcc-2.95.3 binutils-2.11.2 gdb-5.0 IMPORT STEPS ~~~~~~~~~~~~ 1. All distributions were unpacked and all `.cvsignore' files were removed. 2. All files in gcc's `include' top level directory were removed from binutils's `include' top level directory (these are the libiberty include files). cd gcc-*/include; for f in *; do rm -f ../../binutils-*/include/$f; done 3. The gcc distribution was imported in one shot into gnusrc/gnu/dist/toolchain, including the recursive build structure. 4. The binutils distribution was stripped down to the following directories, with no files at the top level: bfd, binutils, gas, gprof, include, intl, ld, opcodes 5. Binutils was imported into gnusrc/gnu/dist/toolchain, which included only the subdirectories above. 6. The gdb distribution was stripped down to the following directories, with no files at the top level: gdb, mmalloc, readline, sim 7. Gdb was imported into gnusrc/gnu/dist/toolchain, which included only the subdirectories above.