More Mac OS X-specific gcc 3.3 fixes
merge to stable
     $T_CONST_LBL    = '^\LC\d+:'; # regexp for what such a lbl looks like
     $T_POST_LBL            = ':';
 
-    $T_MOVE_DIRVS   = '^(\s*(\.align \d+|\.text|\.data|\.const_data|\.cstring|\.non_lazy_symbol_pointer|\.const|\.static_const|\.literal4|\.literal8|\.static_data|\.globl \S+|\.section .*)\n)';
-    $T_COPY_DIRVS   = '\.(globl)';
+    $T_MOVE_DIRVS   = '^(\s*(\.align \d+|\.text|\.data|\.const_data|\.cstring|\.non_lazy_symbol_pointer|\.const|\.static_const|\.literal4|\.literal8|\.static_data|\.globl \S+|\.section .*|\.lcomm.*)\n)';
+    $T_COPY_DIRVS   = '\.(globl|lcomm)';
 
     $T_hsc_cc_PAT   = '\.byte.*\)(hsc|cc) (.*)"\n\t\.byte \d+\n\t\.byte "(.*)"\n\t\.byte \d+';
     $T_DOT_WORD            = '\.(long|short|byte|fill|space)';
 
            $cur_section = $_;
            printf STDERR "section: $cur_section\n" if $Dump_asm_splitting_info;
            $cur_alignment = ''
+       } elsif ( /^\s*\.section\s+__TEXT,__symbol_stub1,symbol_stubs,pure_instructions,\d+/ ) {
+           $cur_section = $_;
+           printf STDERR "section: $cur_section\n" if $Dump_asm_splitting_info;
+           $cur_alignment = ''
        } elsif ( /^\s*\.align.*/ ) { 
            $cur_alignment = $_;
            printf STDERR "alignment: $cur_alignment\n" if $Dump_asm_splitting_info;