master Added tag v0_47 for changeset be3d231ad8ea
v0_47 Prepare, tag, and publish 0.47 release.
Avoid uint32_t difference overflow in 64-bit pointer adju...
Eliminate Microsoft inspired obfuscated typedef insanity.
Prepare, tag, and publish 0.46 release.
v0_46 Prepare, tag, and publish 0.46 release.
Assemble licence and documentation tarballs for distribut...
Force a remake, on package version updates.
Update program identification, via configuration process.
PEXPORTS 0.47 README
Anders Norlander <email@example.com>
Hacked by Paul.Sokolovsky@technologist.com
Hacked by Tor Lillqvist <firstname.lastname@example.org>
Hacked by Keith Marshall <email@example.com>
PEXPORTS is a program to extract exported symbols from a PE image
(executable). It can perform a simple check on the size of the
arguments of the exported functions, provided there is a header with
prototypes for the functions. This is useful when you want the
decorated function names for functions using the stdcall calling
convention. GCC is used to do the preprocessing so it must be in your
Note that the Windows version uses ';' as path separator,
while if built for Cygwin (or *nix) it uses ':'.
Command line options:
-h <header> parse header
-o print function ordinals
-p <preprocessor> set preprocessor
-v verbose mode
Header files are searched for in the following directories:
1. Current directory
2. Directories in C_INCLUDE_PATH
3. Directories in CPLUS_INCLUDE_PATH
NOTE: The header parser is *very* primitive, and might be of
questionable usefulness. It only tries to find function prototypes and
check the number of arguments a function expects. It is NOT a complete
C parser, there are probably many conditions when it will fail
(especially complex parameter types), although I it works fine for me.
Please do not report bugs, but feel free to send patches.
* Eliminate Microsoft style typedef obfuscation.
* Correct a further potential segmentation fault, resulting from
overflow when computing 32-bit offset differences, which are then
applied to 64-bit pointers.
* Corrects two potential segmentation fault bugs.
* Now supports building "out-of-source", to facilitate parallel builds
for differing hosts; (verified for mingw32, 32-bit and 64-bit linux).
* Now uses the GNU (autoconf managed) build procedure; run configure
before make, when building, ("in-source" or "out-of-source").
* Incorporate patches from 0.44-1-mingw32 release
* Reinstate binary distribution for mingw32 host only;
(distributed source is host-agnostic).
* Handle also 64-bit executables. Make it work also if built as 64-bit
code. Remove all gcc -Wall warnings. Make it compilable also with
MSVC. Disable Wow64 file system redirection when running as a 32-bit
process on 64-bit Windows. Distribute just sources.
* There were bug which led to wrong subcategorizing of symbols as
code/data. I thought it was fixed in version on the site, but it turns
out that almost year there was wrong version. I greatly apologize to
everyone whom it cause problems and confusion.
* Data/non-data symbols are now distinguished.
* The header parser now accepts all kinds of parameters.
* Function pointer parameters are now handled
* Handling of function attributes improved
* It is no longer always necessary to include windows.h for headers
that required it but did not include it themselves.
* Completely rewritten parser (the previous one was *very* bad).
It is now possible to generate .DEF files for windows system
dlls (kernel32,user32,gdi32,shell32 etc)
* Enhanced symbol handling (symbols are sorted in a tree).
* Fixed bug with unnamed parameters that are pointers.
* Extra whitespace is no longer printed
* Binary versions available for mingw32 and cygwin32
* Initial release.
Pexports, Copyright (C) 1998 Anders Norlander
This program has ABSOLUTELY NO WARRANTY; This is free software, and you are
welcome to redistribute it under certain conditions; see COPYING