#34831: eliminate missing symbols from gdb compatible compilers -------------------------------------------+-------------------------------- Reporter: sean.michael.farley@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.1 Keywords: | Port: apple-gcc40,apple-gcc42,gcc42,gcc43,gcc44,gcc45,gcc46,gcc47,gcc48,clang-2.9,clang-3.0,clang-3.1,clang-3.2,dragonegg-3.0,dragonegg-3.1,dragonegg-3.2,llvm-2.9,llvm-3.0,llvm-3.1,llvm-3.2,llvm-gcc42,g95 -------------------------------------------+-------------------------------- The hundreds of lines of output of missing object files causes much grief and, in some cases, will prevent debugging entirely. The goal of this patch is to completely get rid of all warnings and errors due to missing symbols. The importance of this is high since all compilers are effected and this in turn affects *any* user compiled code. For compilers that are gdb compatible (c, c++, and fortran), the portfile needs to keep the debug symbols. This patch fixes dsymutil being called for apple-gcc4{0,2}, gcc4{2,3,4,5,6,7,8}, {clang,llvm}-{2.9,3.0,3.1}, llvm-gcc42, g95, and dragonegg-3.{0,1,2}. Alternatively, as suggested by Jeremy, each portfile could strip the symbols from the compiler's shared libraries. This could work but I don't know how to implement this method off the top of my head. Attached to this ticket is: 1) patch that calls dsymutil for each port 2) a simple test program 3) the gdb output of (2) -- Ticket URL: <https://trac.macports.org/ticket/34831> MacPorts <http://www.macports.org/> Ports system for Mac OS