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