X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2FPORTING;h=c8bfd77b96ffb1b4b1da02b2fbc111418fec7025;hb=27a5525e751940f55974e64bdcf11f504e68d356;hp=3c4befe0fb98d1b75520d05ff294f21d7d3e6579;hpb=fa803dc60f0bf01297674c41d001798e18ade4dc;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/PORTING b/bfd/PORTING index 3c4befe0fb..c8bfd77b96 100644 --- a/bfd/PORTING +++ b/bfd/PORTING @@ -9,20 +9,29 @@ Porting to a new host --------------------- Pick a name for your host. Call that . ( might be sun4, ...) -Create a file hosts/h-. +Create a file hosts/.mh. Porting to a new target ----------------------- Pick a name for your target. Call that . -You need to create .c and config/mt-. - -config/mt- is a Makefile fragment. +Call the name for your CPU architecture . +You need to create .c and config/.mt, +and add a case for it to a case statements in bfd/configure.host and +bfd/config.bfd, which associates each canonical host type with a BFD +host type (used as the base of the makefile fragment names), and to the +table in bfd/configure.in which associates each target vector with +the .o files it uses. + +config/.mt is a Makefile fragment. The following is usually enough: DEFAULT_VECTOR=_vec SELECT_ARCHITECTURES=bfd__arch See the list of cpu types in archures.c, or "ls cpu-*.c". -for more information about .mt and .mh files, see config/README. +If your architecture is new, you need to add it to the tables +in bfd/archures.c, opcodes/configure.in, and binutils/objdump.c. + +For more information about .mt and .mh files, see config/README. The file .c is the hard part. It implements the bfd_target _vec, which includes pointers to @@ -37,7 +46,7 @@ you automatically for many a.out systems. Do: make gen-aout ./gen-aout > .c (This only works if you are building on the target ("native"). -If you must make a cross-port from scratch, copy the most +If you must make a cross-port from scratch, copy the most similar existing file that includes aout-target.h, and fix what is wrong.) Check the parameters in .c, and fix anything that is wrong. @@ -47,7 +56,7 @@ TARGET_IS_BIG_ENDIAN_P Should be defined if is big-endian. N_HEADER_IN_TEXT(x) - See discussion in ../include/aout/aout32.h. + See discussion in ../include/aout/aout64.h. BYTES_IN_WORD Number of bytes per word. (Usually 4 but can be 8.) @@ -63,10 +72,10 @@ TEXT_START_ADDR The address of the start of the text segemnt in virtual memory. Normally, the same as the entry point. -PAGE_SIZE +TARGET_PAGE_SIZE SEGMENT_SIZE - Usually, the same as the PAGE_SIZE. + Usually, the same as the TARGET_PAGE_SIZE. Alignment needed for the data segment. TARGETNAME