I think you can use objdump to determine it.
For example on my PC:

C:\Users\TOCK>objdump -f foo.dll

foo.dll:     file format pei-x86-64
architecture: i386:x86-64, flags 0x0000013b:
HAS_RELOC, EXEC_P, HAS_DEBUG, HAS_SYMS, HAS_LOCALS, D_PAGED
start address 0x000000006ae81400



2014-04-03 18:42 GMT+08:00 Koehne Kai <[email protected]>:

> Hi,
>
> Anyone knows by heart what to check for in a PE header to decide whether a
> dll is a debug build, or not?
>
> Background: Qt has a neat tool to package all of the Qt/non qt
> dependencies together for deployment: windeployqt. To function properly, it
> has to decide whether an executable/dll is a debug build, or not ...
>
> The logic so far is at:
>
> https://qt.gitorious.org/qt/qttools/source/24ed30750d87e022f583c64cf0ff77652ec1078b:src/windeployqt/utils.cpp#L731
>
> And we decide whether it's a debug build or not is essentially (32 bit):
>
> ntHeaders32->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_DEBUG].Size
> != 0
>
> Now that fails for Mingw :(
>
> I've to admit I'd have only occasionally exposure to the PE file format,
> so before spending too much time on it: Does anyone know a way to do this
> check for MinGW? Is it even possible?
>
> Regards
>
> Kai
>
------------------------------------------------------------------------------
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to