title: How to build old source code with latest GCC?
body: <p>I am trying to build the OSKit source code. It is orginally written against gcc 2.95.2, but on my box I got gcc 4.3.2. And 4.3.2 doesn't allow the following syntax:</p>
  
  <pre><code> asm volatile("
    pushfl
    popl %0" : "=r" (eflags));
   return eflags;
  </code></pre>
  
  <p>4.3.2 always complains that:</p>
  
  <pre><code>error: missing terminating " character
  </code></pre>
  
  <p>There're so many syntax like this, is there a way to let the 4.3.2 accept this? Or is there a more general way to let the 4.3.2 behave like 2.95.2? Or where could I download the 2.95.2 version of gcc?</p>
  
  <p>Thanks!</p>
  
  <h2>Update</h2>
  
  <p>My real aim is to build the <a href="http://www.cs.utah.edu/flux/oskit/" rel="nofollow noreferrer">OSKit</a>. OSKit claims to be compilabe with GCC 2.7.x or 2.95.2. My Ubuntu 8.10 is installed with GCC 4.3.2. </p>
  
  <p>I tried the following compiling sequences:</p>
  
  <p>4.3.2 build 2.95.2   --- failed</p>
  
  <p>4.3.2-><a href="http://www.linuxfromscratch.org/blfs/view/6.3/general/gcc3.html" rel="nofollow noreferrer">3.3.6</a>->2.7.2.3  --- success.</p>
  
  <p>4.3.2 -> 2.7.2.3  --- success</p>
  
  <p>3.3.6 -> 2.95.2  --- failed</p>
  
  <p>Though I still don't have 2.95.2, I got 2.7.2.3 at least.</p>
  
  <p>But the OSKit is still broken with 2.7.2.3... </p>
  
  <p>Currently I don't know what to do... :( </p>
  
  <p>Could anyone give me some advice?   @_@</p>