
On Mon, Jun 14, 2004 at 12:00:57PM +0100, Malcolm Wallace wrote:
Ian Lynagh
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