diff options
Diffstat (limited to 'doc/src/sgml/compiler.sgml')
-rw-r--r-- | doc/src/sgml/compiler.sgml | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/doc/src/sgml/compiler.sgml b/doc/src/sgml/compiler.sgml new file mode 100644 index 00000000000..5d9c0eb0755 --- /dev/null +++ b/doc/src/sgml/compiler.sgml @@ -0,0 +1,73 @@ +<Chapter> +<DocInfo> +<AuthorGroup> +<Author> +<FirstName>Brian</FirstName> +<Surname>Gallew</Surname> +</Author> +</AuthorGroup> +<Date>Transcribed 1998-02-12</Date> +</DocInfo> + +<Title>GCC Default Optimizations</Title> + +<Para> +<Note> +<Para> +Contributed by <ULink url="mailto:geek+@cmu.edu">Brian Gallew</ULink> +</Para> +</Note> + +<Para> +Configuring gcc to use certain flags by default is a simple matter of +editing the +<FileName>/usr/local/lib/gcc-lib/<Replaceable>platform</Replaceable>/<Replaceable>version</Replaceable>/specs</FileName> +file. +The format of this file pretty simple. The file is broken into +sections, each of which is three lines long. The first line is +"*<Replaceable>section_name</Replaceable>:" (e.g. "*asm:"). +The second line is a list of flags, +and the third line is blank. + +<Para> +The easiest change to make is to append +the desired default flags to the list in the appropriate section. As +an example, let's suppose that I have linux running on a '486 with gcc +2.7.2 installed in the default location. In the file +/usr/local/lib/gcc-lib/i486-linux/2.7.2/specs, 13 lines down I find +the following section: +<ProgramListing> +- ----------SECTION---------- +*cc1: + + +- ----------SECTION---------- +</ProgramListing> +As you can see, there aren't any default flags. If I always wanted +compiles of C code to use "-m486 -fomit-frame-pointer", I would +change it to look like: +<ProgramListing> +- ----------SECTION---------- +*cc1: +- -m486 -fomit-frame-pointer + +- ----------SECTION---------- +</ProgramListing> +If I wanted to be able to generate 386 code for another, older linux +box lying around, I'd have to make it look like this: +<ProgramListing> +- ----------SECTION---------- +*cc1: +%{!m386:-m486} -fomit-frame-pointer + +- ----------SECTION---------- +</ProgramListing> +This will always omit frame pointers, any will build 486-optimized +code unless -m386 is specified on the command line. + +<Para> +You can actually do quite a lot of customization with the specs file. +Always remember, however, that these changes are global, and affect +all users of the system. + +</Chapter> |