mirror of https://github.com/postgres/postgres
gcc. Per comment from original author, Brian Gallew: "Ancient history. Kill it fast."REL7_4_STABLE
parent
cdbf9b328e
commit
747df1a35e
@ -1,77 +0,0 @@ |
||||
<Chapter Id="compiler"> |
||||
<DocInfo> |
||||
<AuthorGroup> |
||||
<Author> |
||||
<FirstName>Brian</FirstName> |
||||
<Surname>Gallew</Surname> |
||||
</Author> |
||||
</AuthorGroup> |
||||
<Date>Transcribed 1998-02-12</Date> |
||||
</DocInfo> |
||||
|
||||
<Title><application>gcc</application> Default Optimizations</Title> |
||||
|
||||
<Para> |
||||
<Note> |
||||
<Para> |
||||
Contributed by Brian Gallew (<email>geek+@cmu.edu</email>) |
||||
</Para> |
||||
</Note> |
||||
</para> |
||||
|
||||
<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> |
||||
|
||||
<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> |
||||
|
||||
<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. |
||||
</para> |
||||
|
||||
</Chapter> |
||||
Loading…
Reference in new issue