OSDN Git Service

Eliminate Microsoft inspired obfuscated typedef insanity.
[mingw/pexports.git] / ChangeLog
1 2015-09-07  Keith Marshall  <keithmarshall@users.sourceforge.net>
2
3         Eliminate Microsoft inspired obfuscated typedef insanity.
4
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.
16
17 2013-05-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
18
19         Prepare, tag, and publish 0.46 release.
20
21         * README: Add release notes.
22         * All files: Tagged "v0_46" for release.
23
24 2013-05-30  Keith Marshall  <keithmarshall@users.sourceforge.net>
25
26         Assemble licence and documentation tarballs for distribution.
27
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.
32
33 2013-05-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
34
35         Force a remake, on package version updates.
36
37         * Makefile.in (pexports.OBJEXT): Make it depend on Makefile; this
38         indirectly captures changes, when configure.ac is updated.
39
40 2013-05-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
41
42         Update program identification, via configuration process.
43
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.
49
50         * pexports.h (VER_MAJOR, VER_MINOR): Obsolete macros; delete them.
51
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...
56         (CDEPFLAGS): ...this.
57
58 2013-05-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
59
60         Autoconfiscate.
61
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.
65
66 2013-05-29  Keith Marshall  <keithmarshall@users.sourceforge.net>
67
68         Integrate build-aux utilities as a submodule.
69
70         * .gitmodules .hgsub .hgsubstate: New files.
71
72 2013-05-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
73
74         Designate files which mercurial should not track.
75
76         * .hgignore: New file.
77
78 2013-05-28  Keith Marshall  <keithmarshall@users.sourceforge.net>
79
80         Correct some obfuscated typedef portability issues.
81
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.
87
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.
100
101 2011-09-14  Daniel Collins  <solemnwarning@solemnwarning.net>
102
103         Avoid segmentation faults in forwarder function checks.
104
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.
112
113 2009-09-15  Charles Wilson  <cwilso11@users.sourceforge.net>
114
115         Slight build improvements.
116
117         * README: Update.
118         * Makefile: Rewrite dist rule to create a .tar.lzma instead
119         of a .zip (and don't create a tarbomb). 
120
121 2009-09-15  Charles Wilson  <cwilso11@users.sourceforge.net>
122
123         Package 0.44-1-mingw32 fixes.
124
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.
128
129 2008-08-31  Tor Lillqvist  <tml@novell.com>
130
131         Release 0.44. Add support for 64-bit executables.
132
133         * hlex.l
134         * hparse.y
135         * pexports.h
136         * pexports.c
137         * str_tree.h
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
142         to 0.44.
143         * Makefile: New.
144         * pe.h: Not needed, removed.
145         * hparse.h: Remove generated file.
146         * Makefile.am: Removed.
147
148 2002-11-08  Luke Dunstan  <infidel@users.sourceforge.net>
149
150         * pexports.c (dump_exports): fix exports incorrectly
151         determined to be forwarders.
152
153 1999-04-02  Paul Sokolovsky  <Paul.Sokolovsky@technologist.com>
154
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
159
160 1998-11-07  Anders Norlander  <kv98anr@cs.umu.se>
161
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.
166
167 1998-11-05  Anders Norlander  <kv98anr@cs.umu.se>
168
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
178
179 1998-10-26  Anders Norlander  <anorland@hem2.passagen.se>
180
181         * New files: str_tree.c str_tree.h: implements
182         a symbol tree.
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
190
191 1998-10-21  Anders Norlander  <anorland@hem2.passagen.se>
192
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"
196         instead of "cpp".
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
201         are pointers.
202         * pexports.c: in dump_exports: don't print extra white
203         space if ordinals are not supposed to be printed.