Re: build failure

Ian Lynagh <[email protected]> Mon, 21 Jun 2004 15:28:20 +0100
Newsgroups gmane.comp.lang.haskell.nhc.bugs
Message-ID <[email protected]>
On Mon, Jun 14, 2004 at 12:00:57PM +0100, Malcolm Wallace wrote:
> Ian Lynagh <[email protected]> writes:
> 
> Thanks for your perl patch for this problem.  I have checked it into
> CVS, but guarded in the configure script so that it is only enabled
> if gcc-3.3 is present.

Here's a better one (accepts global as well as globl, uses STT_OBJECT
instead of @object (@ starts a comment on arm), uses the align of the
original rather than assuming 4 is right) that I believe works on at
least x86, mips(el) and arm. I haven't tried it on anything else.

perl -e 'undef $/; $_ = <>;
         s/^
           \s*\.local\s+startLabel\n
           \s*.comm\s+startLabel,0,4\n
           (\s*\.globa?l\s+[^\n]+)\n
           \s*\.data\n
           (\s*\.align\s*\d+)\n
          /"\t.data\n"
          ."$2\n"
          ."\t.type startLabel,STT_OBJECT\n"
          ."\t.size startLabel,0\n"
          ."startLabel:\n"
          ."$1\n"
          ."$2\n"/emx;
         print;' |

-fno-common seemed to have no effect and the meaning of .align does
indeed vary depending on what platform you are using GNU as on.

If you're already GNU tools only and you did want to replace all aligns
with 4-byte alignment then you could use .balign 4 (or .p2align 2)
though.


Thanks
Ian