thorpej accdd8107f Fix a problem with placing orphaned sections (like the ones with
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).
2002-11-20 06:51:07 +00:00
..
2002-10-13 22:58:55 +00:00

$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.