2 ============================================
4 Anders Norlander <anorland@hem2.passagen.se>
5 URL: hem2.passagen.se/anorland/
7 Hacked by Paul.Sokolovsky@technologist.com
8 URL: http://www.is.lg.ua/~paul/devel/binutils.html
10 Hacked by Tor Lillqvist <tml@iki.fi>
12 Hacked by Keith Marshall <keithmarshall@users.sourceforge.net>
14 ============================================
16 PEXPORTS is a program to extract exported symbols from a PE image
17 (executable). It can perform a simple check on the size of the
18 arguments of the exported functions, provided there is a header with
19 prototypes for the functions. This is useful when you want the
20 decorated function names for functions using the stdcall calling
21 convention. GCC is used to do the preprocessing so it must be in your
24 Note that the Windows version uses ';' as path separator,
25 while if built for Cygwin (or *nix) it uses ':'.
29 -h <header> parse header
30 -o print function ordinals
31 -p <preprocessor> set preprocessor
34 Header files are searched for in the following directories:
36 2. Directories in C_INCLUDE_PATH
37 3. Directories in CPLUS_INCLUDE_PATH
39 NOTE: The header parser is *very* primitive, and might be of
40 questionable usefulness. It only tries to find function prototypes and
41 check the number of arguments a function expects. It is NOT a complete
42 C parser, there are probably many conditions when it will fail
43 (especially complex parameter types), although I it works fine for me.
44 Please do not report bugs, but feel free to send patches.
48 * Eliminate Microsoft style typedef obfuscation.
49 * Correct a further potential segmentation fault, resulting from
50 overflow when computing 32-bit offset differences, which are then
51 applied to 64-bit pointers.
55 * Corrects two potential segmentation fault bugs.
56 * Now supports building "out-of-source", to facilitate parallel builds
57 for differing hosts; (verified for mingw32, 32-bit and 64-bit linux).
58 * Now uses the GNU (autoconf managed) build procedure; run configure
59 before make, when building, ("in-source" or "out-of-source").
63 * Incorporate patches from 0.44-1-mingw32 release
64 * Reinstate binary distribution for mingw32 host only;
65 (distributed source is host-agnostic).
69 * Handle also 64-bit executables. Make it work also if built as 64-bit
70 code. Remove all gcc -Wall warnings. Make it compilable also with
71 MSVC. Disable Wow64 file system redirection when running as a 32-bit
72 process on 64-bit Windows. Distribute just sources.
76 * There were bug which led to wrong subcategorizing of symbols as
77 code/data. I thought it was fixed in version on the site, but it turns
78 out that almost year there was wrong version. I greatly apologize to
79 everyone whom it cause problems and confusion.
83 * Data/non-data symbols are now distinguished.
87 * The header parser now accepts all kinds of parameters.
91 * Function pointer parameters are now handled
92 * Handling of function attributes improved
93 * It is no longer always necessary to include windows.h for headers
94 that required it but did not include it themselves.
98 * Completely rewritten parser (the previous one was *very* bad).
99 It is now possible to generate .DEF files for windows system
100 dlls (kernel32,user32,gdi32,shell32 etc)
101 * Enhanced symbol handling (symbols are sorted in a tree).
105 * Fixed bug with unnamed parameters that are pointers.
106 * Extra whitespace is no longer printed
107 * Binary versions available for mingw32 and cygwin32
112 Pexports, Copyright (C) 1998 Anders Norlander
113 This program has ABSOLUTELY NO WARRANTY; This is free software, and you are
114 welcome to redistribute it under certain conditions; see COPYING