From: Jacek Caban Subject: Re: [PATCH v2 0/2] Help Linux perf get debug information from PE files​. Message-Id: Date: Fri, 4 Oct 2019 18:48:02 +0200 In-Reply-To: <20191002182625.5788-1-rbernon@codeweavers.com> References: <20191002182625.5788-1-rbernon@codeweavers.com> Hi Rémi, On 10/2/19 8:26 PM, Rémi Bernon wrote: > This is an updated version of the perf patches, as I saw in some > discussion that "ifeq" should not be used in Makefiles for portability. I think it may be useful to put two more semi-related things for the consideration. Currently, strip breaks Wine builtin DLLs by rewriting PE headers and losing Wine mark (see bug 47718). Usage of strip would need to be followed by restoring builtin mark. One way to handle that would be to produce binaries that don't need to be stripped later (by make install or whatever). Once we move debug info to the separate file, we could strip original DLLs. I experimented with llvm-mingw, which can produce PDB files. It may be handy if you want to use Windows tools, so I think we will want to support that as an option. PDBs are generated by linker during binary linking, so it would need makefiles support at some point anyway. Taking both above into consideration, I think that the logic would better fit winegcc. winegcc could have an additional argument for passing output symbol file. When used, it could invoke objcopy and strip as needed, before invoking make_wine_builtin(). It would solve both your problem and problem with strip. In the future, PDB build would just pass -Wl,-pdb= linker argument instead. Thanks, Jacek