Control: reassign -1 src:cgal 6.2-1 Control: retitle -1 "cgal: .debug_gdb_scripts is not NUL-terminated, breaks
Hello, mold is not at fault here. It is rejecting invalid input coming from a faulty CGAL header. ld.lld rejects this header as well. For whatever reason, GNU ld is too permissive. The offending section comes from CGAL 6.2, which introduced include/CGAL/gdb_autoload.h: https://github.com/CGAL/cgal/blob/v6.2/Installation/include/CGAL/gdb_autoload.h That header pushes .debug_gdb_scripts with the "MS" flags, i.e. SHF_MERGE|SHF_STRINGS with an entity size of 1, and then emits the payload with .ascii: __asm__( ".pushsection \".debug_gdb_scripts\", \"MS\",@progbits,1\n" ".ascii \"\\4gdb.inlined-script.CGAL\\n\"\n" [...] ".ascii \"gdb.execute('source ' + path + '/share/gdb/auto-load/cgal_printers.py')\\n\"\n" ".popsection\n" ); But the .ascii doesn't append a terminating NUL. This is fixed upstream in https://github.com/CGAL/cgal/commit/eb2257df4da4c52c75fe384e803d9a6376057b8a Is anyone opposed to re-enabling ld.mold for deal.II? It really cuts down on linkage time... Best, Matthias

