comparison extra/README @ 196:83bb31ca8b6a

Elaborated the readme for the gcc6809 patch As a result of feedback from pulkomandy@pulkomandy.tk, added additional text to readme to clarify several aspects of the instructions and the nature of the gcc6809 patch as compared to the "official" gcc6809.
author William Astle <lost@l-w.ca>
date Thu, 15 Mar 2012 09:26:24 -0600
parents e0cc66fd0551
children b0fb675d1ed4
comparison
equal deleted inserted replaced
195:17bd59f045af 196:83bb31ca8b6a
20 20
21 These are patches to the main gcc source distribution for specific releases. 21 These are patches to the main gcc source distribution for specific releases.
22 The last number after the dash is a patch level for the specific patch. 22 The last number after the dash is a patch level for the specific patch.
23 These are different to the official gcc6809 releases in the following ways. 23 These are different to the official gcc6809 releases in the following ways.
24 First, all the source for as-6809 is removed. Also, the special "helper" 24 First, all the source for as-6809 is removed. Also, the special "helper"
25 makefile and directory is removed. Also, as of this writing, the 25 makefile and directory is removed. Also, as of this writing, the latest
26 distribution side for gcc6809 has been down for months and the latest 26 "official" release was for gcc 4.3.4 which does not build on 64 bit linux.
27 release was for gcc 4.3.4 which does not build on 64 bit linux.
28 27
28 In the event you have used the "official" gcc6809 with the default as6809
29 assembler that comes with it, you should be aware that while lwasm is mostly
30 compatible with it syntax wise, there are differences, particularly in
31 pseudo operations and source line syntax (most notably that you must have
32 whitespace preceeding assembler directives and instructions). You will
33 likely not run into these unless you are using inline asm. Refer to the
34 lwtools documentation for the specific line format required by lwasm.
35
36 It is worth noting that neither gcc6809 nor lwtools comes with a standard C
37 library.
38
39 It is also worth noting that for many projects, it will be more flexible to
40 invoke lwlink directly rather than using the ld script or gcc as a front
41 end. See the lwtools documentation for details on using lwlink.
29 42
30 To use these scripts, you really need to understand how to build a gcc as a 43 To use these scripts, you really need to understand how to build a gcc as a
31 cross compiler. The basics are that you put the as, ld, and ar scripts 44 cross compiler. The basics are that you put the as, ld, and ar scripts
32 whereever you plan to put your cross-development binaries. Then, when 45 whereever you plan to put your cross-development binaries. Then, when
33 building the cross compiler, you tell it where the scripts are. 46 building the cross compiler, you tell it where the scripts are.
34 47
35 The following work 48 Please note that the following recipe is an example only. If you are
49 planning to install multiple instances of gcc6809 for different targets, you
50 will most certainly need to modify the steps below. Providing a complete
51 understanding of building a gcc toolchain for cross compilation is well
52 beyond the scope of this document.
53
54 The following works for a single installation.
36 55
37 1. Install the ar, as, and ld scripts named m6809-unknown-{as,ar,ld} in a 56 1. Install the ar, as, and ld scripts named m6809-unknown-{as,ar,ld} in a
38 directory in your path, say /usr/local/coco/bin/. 57 directory in your path, say /usr/local/coco/bin/.
39 58
40 2. Make symbolic links to /bin/true for similarly named nm, objdump, ranlib, 59 2. Make symbolic links to /bin/true for similarly named nm, objdump, ranlib,