1<html lang="en"> 2<head> 3<title>Fixed Headers - Using the GNU Compiler Collection (GCC)</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Using the GNU Compiler Collection (GCC)"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="Trouble.html#Trouble" title="Trouble"> 9<link rel="prev" href="Incompatibilities.html#Incompatibilities" title="Incompatibilities"> 10<link rel="next" href="Standard-Libraries.html#Standard-Libraries" title="Standard Libraries"> 11<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 12<!-- 13Copyright (C) 1988-2013 Free Software Foundation, Inc. 14 15Permission is granted to copy, distribute and/or modify this document 16under the terms of the GNU Free Documentation License, Version 1.3 or 17any later version published by the Free Software Foundation; with the 18Invariant Sections being ``Funding Free Software'', the Front-Cover 19Texts being (a) (see below), and with the Back-Cover Texts being (b) 20(see below). A copy of the license is included in the section entitled 21``GNU Free Documentation License''. 22 23(a) The FSF's Front-Cover Text is: 24 25 A GNU Manual 26 27(b) The FSF's Back-Cover Text is: 28 29 You have freedom to copy and modify this GNU Manual, like GNU 30 software. Copies published by the Free Software Foundation raise 31 funds for GNU development.--> 32<meta http-equiv="Content-Style-Type" content="text/css"> 33<style type="text/css"><!-- 34 pre.display { font-family:inherit } 35 pre.format { font-family:inherit } 36 pre.smalldisplay { font-family:inherit; font-size:smaller } 37 pre.smallformat { font-family:inherit; font-size:smaller } 38 pre.smallexample { font-size:smaller } 39 pre.smalllisp { font-size:smaller } 40 span.sc { font-variant:small-caps } 41 span.roman { font-family:serif; font-weight:normal; } 42 span.sansserif { font-family:sans-serif; font-weight:normal; } 43--></style> 44<link rel="stylesheet" type="text/css" href="../cs.css"> 45</head> 46<body> 47<div class="node"> 48<a name="Fixed-Headers"></a> 49<p> 50Next: <a rel="next" accesskey="n" href="Standard-Libraries.html#Standard-Libraries">Standard Libraries</a>, 51Previous: <a rel="previous" accesskey="p" href="Incompatibilities.html#Incompatibilities">Incompatibilities</a>, 52Up: <a rel="up" accesskey="u" href="Trouble.html#Trouble">Trouble</a> 53<hr> 54</div> 55 56<h3 class="section">11.4 Fixed Header Files</h3> 57 58<p>GCC needs to install corrected versions of some system header files. 59This is because most target systems have some header files that won't 60work with GCC unless they are changed. Some have bugs, some are 61incompatible with ISO C, and some depend on special features of other 62compilers. 63 64 <p>Installing GCC automatically creates and installs the fixed header 65files, by running a program called <code>fixincludes</code>. Normally, you 66don't need to pay attention to this. But there are cases where it 67doesn't do the right thing automatically. 68 69 <ul> 70<li>If you update the system's header files, such as by installing a new 71system version, the fixed header files of GCC are not automatically 72updated. They can be updated using the <samp><span class="command">mkheaders</span></samp> script 73installed in 74<samp><var>libexecdir</var><span class="file">/gcc/</span><var>target</var><span class="file">/</span><var>version</var><span class="file">/install-tools/</span></samp>. 75 76 <li>On some systems, header file directories contain 77machine-specific symbolic links in certain places. This makes it 78possible to share most of the header files among hosts running the 79same version of the system on different machine models. 80 81 <p>The programs that fix the header files do not understand this special 82way of using symbolic links; therefore, the directory of fixed header 83files is good only for the machine model used to build it. 84 85 <p>It is possible to make separate sets of fixed header files for the 86different machine models, and arrange a structure of symbolic links so 87as to use the proper set, but you'll have to do this by hand. 88</ul> 89 90 </body></html> 91 92