1 2015-09-07 Keith Marshall <keithmarshall@users.sourceforge.net>
3 Eliminate Microsoft inspired obfuscated typedef insanity.
5 * pexports.c pexports.h (BYTE, WORD, DWORD): Delete typedefs;
6 respectively replace all corresponding usage instances with...
7 (uint8_t, uint16_t, uint32_t): ...these ISO-C standard types.
8 (PVOID, PIMAGE_DOS_HEADER, PIMAGE_FILE_HEADER, PIMAGE_SECTION_HEADER)
9 (PIMAGE_DATA_DIRECTORY, PIMAGE_EXPORT_DIRECTORY, PIMAGE_NT_HEADERS32)
10 (PIMAGE_NT_HEADERS64, PIMAGE_OPTIONAL_HEADER32)
11 (PIMAGE_OPTIONAL_HEADER64): Delete these non-standard style pointer
12 reference typedefs; replace with conventional pointer references to
13 the underlying data type; where these are structural types, delete
14 initial underscores from the corresponding structure tag names.
15 (HMODULE): Likewise; replace with pointer to void.
17 2013-05-30 Keith Marshall <keithmarshall@users.sourceforge.net>
19 Prepare, tag, and publish 0.46 release.
21 * README: Add release notes.
22 * All files: Tagged "v0_46" for release.
24 2013-05-30 Keith Marshall <keithmarshall@users.sourceforge.net>
26 Assemble licence and documentation tarballs for distribution.
28 * Makefile.in (dist): Add dependencies on...
29 (licdist, docdist): ...these new build goals; specify them based on...
30 (LIC_DISTFILES, DOC_DISTFILES): ...these new macros; define them as
31 the respective list of files to include in each tarball.
33 2013-05-29 Keith Marshall <keithmarshall@users.sourceforge.net>
35 Force a remake, on package version updates.
37 * Makefile.in (pexports.OBJEXT): Make it depend on Makefile; this
38 indirectly captures changes, when configure.ac is updated.
40 2013-05-29 Keith Marshall <keithmarshall@users.sourceforge.net>
42 Update program identification, via configuration process.
44 * pexports.c (main): Update identification text; remove references...
45 (VER_MAJOR, VER_MINOR): ...to these; combine them by substituting...
46 (PACKAGE_VERSION_STRING): ...this new macro; also amend instructions
47 for reporting bugs, as directed at URL identified by...
48 (PACKAGE_BUG_REPORT): ...this additional new macro.
50 * pexports.h (VER_MAJOR, VER_MINOR): Obsolete macros; delete them.
52 * Makefile.in (PACKAGE_DEFS): New macro; defined in terms of these...
53 (PACKAGE_VERSION_STRING, PACKAGE_BUG_REPORT_URL, PACKAGE_BUG_REPORT):
54 ...these additional new macros, defined by AC_SUBST from configure.ac,
55 and subsequently propagated to pexports.c, as an addendum to...
58 2013-05-29 Keith Marshall <keithmarshall@users.sourceforge.net>
62 * configure.ac Makefile.in: New files.
63 * Makefile: Now auto-generated at configure time; remove it.
64 * .hgignore: Add configure, Makefile, autom4te.cache and build dir.
66 2013-05-29 Keith Marshall <keithmarshall@users.sourceforge.net>
68 Integrate build-aux utilities as a submodule.
70 * .gitmodules .hgsub .hgsubstate: New files.
72 2013-05-28 Keith Marshall <keithmarshall@users.sourceforge.net>
74 Designate files which mercurial should not track.
76 * .hgignore: New file.
78 2013-05-28 Keith Marshall <keithmarshall@users.sourceforge.net>
80 Correct some obfuscated typedef portability issues.
82 * pexports.c: Include inttypes.h; it permits use of...
83 (PRIdPTR): ...this ISO-C99 standard macro, in preference to...
84 (INT_PTR_FORMAT): ...this non-standard contrivance; similarly...
85 (intptr_t): ...substitute this ISO-C99 standard typedef...
86 (INT_PTR): ...for this non-standard type.
88 * pexports.h: Include stdint.h; typedef...
89 (BYTE): ...this, as explicitly equivalent to uint8_t.
90 (WORD): ...this, as explicitly equivalent to uint16_t.
91 (DWORD): ...this, as explicitly equivalent to uint32_t.
92 (INT_PTR, INT_PTR_FORMAT): No longer required; delete them.
93 (ULONGLONG): Explicitly typedef as equivalent to uint64_t; although
94 'unsigned long long' seems a better fit, our present usage requires
95 the explicit 64-bit association, and use of this standard type allows
96 us to eliminate all references to Microsoft's non-standard __int64.
97 (LONG): Explicitly typedef as equivalent to int32_t; technically, this
98 is incorrect, but misuse elsewhere requires the explicit 32-bit type,
99 which is not guaranteed by ISO-C99's standard 'long' type.
101 2011-09-14 Daniel Collins <solemnwarning@solemnwarning.net>
103 Avoid segmentation faults in forwarder function checks.
105 * pexports.h (dump_exports): Adjust prototype to accommodate new
106 'exports_size' argument; this is to be assigned and passed from...
107 * pexports.c (main): ...here; assigned value is determined from the
108 export table size recorded in the PE file image, whence passed to...
109 (dump_exports): ...here; it is used to avoid crashing or corruption
110 when the export table isn't at the end of its section. Also check
111 for, and filter out duplicated symbol reports.
113 2009-09-15 Charles Wilson <cwilso11@users.sourceforge.net>
115 Slight build improvements.
118 * Makefile: Rewrite dist rule to create a .tar.lzma instead
119 of a .zip (and don't create a tarbomb).
121 2009-09-15 Charles Wilson <cwilso11@users.sourceforge.net>
123 Package 0.44-1-mingw32 fixes.
125 * pexports.c (main): Fix typo in usage statement.
126 * pexports.h: Ensure ULONGLONG is defined.
127 * Makefile: Force use of flex and bison, not lex and yacc.
129 2008-08-31 Tor Lillqvist <tml@novell.com>
131 Release 0.44. Add support for 64-bit executables.
138 * str_tree.c: Handle also 64-bit executables. Make it work also if
139 built as 64-bit code. Remove all gcc -Wall warnings. Make it
140 compilable also with MSVC. Disable Wow64 file system redirection
141 when running as a 32-bit process on 64-bit Windows. Bump version
144 * pe.h: Not needed, removed.
145 * hparse.h: Remove generated file.
146 * Makefile.am: Removed.
148 2002-11-08 Luke Dunstan <infidel@users.sourceforge.net>
150 * pexports.c (dump_exports): fix exports incorrectly
151 determined to be forwarders.
153 1999-04-02 Paul Sokolovsky <Paul.Sokolovsky@technologist.com>
155 * pexports.c: now distinguishes data/non-data symbols,
156 depending on type of section symbol in
157 * pexports.c: in verbose mode prints section name for symbol
158 * pexports.c: file offsets are now in hex
160 1998-11-07 Anders Norlander <kv98anr@cs.umu.se>
162 * hparse.y: types and parameters are now recognized as
163 a series of tokens, which means that keywords like const
164 struct and so on are not recognized as such, allowing any
165 kind of parameter, including function pointers.
167 1998-11-05 Anders Norlander <kv98anr@cs.umu.se>
169 * hlex.l: removed all tokens except ID, CONST and VOLATILE
170 * hparse.y: Added INC_ARGS macro to increment arg_size only if
171 new flag inc_flag is set
172 * hparse.y: Added function_pointer and function_pointer_name rules
173 * hparse.y: Function attributes are now handled as list of ID's
174 * pexports.h: Incremented VER_MINOR
175 * pexports.c: Print name of file if a header is not found
176 * pexports.c: Separated printing to function dump_symbol
177 * pexports.c: Fixed handling of forwarded exports
179 1998-10-26 Anders Norlander <anorland@hem2.passagen.se>
181 * New files: str_tree.c str_tree.h: implements
183 * pexports.c: changed symbol handling to use str_tree,
184 add_function_prot removed.
185 * pexports.h: removed add_function_prot prototype
186 * hlex.l: removed unnecessary code (count, CONSTANT, STRING)
187 * hlex.l: added ATTRIBUTE token.
188 * hparse.y: completely rewritten. *Much* improved parser.
189 * pexports.h: changed VER_MINOR to 3
191 1998-10-21 Anders Norlander <anorland@hem2.passagen.se>
193 * pexports.c: removed include_path structure and replaced
194 it with a generic string list str_list.
195 * pexports.c: preprocessor now defaults to "gcc -E -xc-header"
197 * pexports.h: incremented minor version VER_MINOR to 2
198 * pexports.c: headers are now parsed after all paramaters
199 command line options have been parsed.
200 * hparse.y: fixed problem with unnamed parameters that
202 * pexports.c: in dump_exports: don't print extra white
203 space if ordinals are not supposed to be printed.