I compiled a C++ file with g++ and the compile hung and took up 100% of the CPU when assembling the file.
The problem seems to have to do with an ".align" directive. If I comment the ".align" (which was generated by the compiler) out, it no longer hangs. Additionally, if I manually add three ".byte 0" to pad before the alignment directive, gas also no longer hangs. I will try to post the entire ".s" file if I can. I can also email it to you on request. The .s file is 4175620 bytes in size and the offending align directive happens at about line 175141. Here is a snippet of the end of the file with some comments that I have added. This seems to be the ending part of a "gcc_except_table" section. --------------- START SNIPPET --------------- .uleb128 .LEHB10374-.LFB3498 .uleb128 .LEHE10374-.LEHB10374 .uleb128 .L14870-.LFB3498 .uleb128 0x0 .uleb128 .LEHB10375-.LFB3498 .uleb128 .LEHE10375-.LEHB10375 .uleb128 0x0 .uleb128 0x0 .LLSDACSE3498: .byte 0x0 .byte 0x0 .byte 0x1 .byte 0x7d .byte 0x1 .byte 0x7d ############################################################################### # CM: The problem occurs here. Anything not commented was produced by g++. # # Assemble with "as -V -Qy --64 -o x.o x.s" and "as" hangs. # # TEST #1: # I manually added the next three lines manually to check if alignment # was the problem. Uncomment out the next three lines and "as" does not hang! # .byte 0x0 # .byte 0x0 # .byte 0x0 # # TEST #2: # If you comment out the following align (make sure to comment out # the three manually added .byte in TEST #1) that was generated # by the compiler, "as" does not hang, too! .align 4 .long DW.ref._ZTI11FmFleetings-. .LLSDATT3498: # # Seems like a problem with alignment. The rest of this file has been # chopped off as it is not relavent. # # System Information: # # Linux: # cat /etc/redhat-release # Red Hat Enterprise Linux Server release 5 (Tikanga) # # g++ --version # g++ (GCC) 4.1.1 20070105 (Red Hat 4.1.1-52) # Copyright (C) 2006 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Version of "as": # GNU assembler version 2.17.50.0.6-2.el5 (x86_64-redhat-linux) using BFD version 2.17.50.0.6-2.el5 20061020 # # uname -a # Linux kendo 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:14 EST 2007 x86_64 x86_64 x86_64 GNU/Linux # # ldd `which as` # libbfd-2.17.50.0.6-2.el5.so => /usr/lib64/libbfd-2.17.50.0.6-2.el5.so (0x00000030dae00000) # libc.so.6 => /lib64/libc.so.6 (0x00000030daa00000) # /lib64/ld-linux-x86-64.so.2 (0x00000030da600000) # --------------- END SNIPPET --------------- -- Summary: gas hangs when assembling g++ generated code Product: binutils Version: 2.17 Status: NEW Severity: normal Priority: P2 Component: gas AssignedTo: unassigned at sources dot redhat dot com ReportedBy: cayminfo-ec at yahoo dot com CC: bug-binutils at gnu dot org GCC build triplet: x86_64-redhat-linux GCC host triplet: x86_64-redhat-linux GCC target triplet: x86_64-redhat-linux http://sourceware.org/bugzilla/show_bug.cgi?id=6935 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils