[patch ld/dlltool]: Allow empty LIBRARY statement in .def file
Christopher Faylor
cgf-use-the-mailinglist-please@sourceware.org
Wed Jul 25 23:06:00 GMT 2012
On Wed, Jul 25, 2012 at 11:13:02PM +0200, Kai Tietz wrote:
>Hi,
>
>this patch relax behavior of dlltool and ld about .def file parsing so
>that the name of LIBRARY statement is optional.
>
>ChangeLog
>
>binutils/
>2012-07-25 Kai Tietz
>
> * defparse.y (command): Call def_library only if name isn't
>NULL and not empty.
>
>ld/
>
>2012-07-25 Kai Tietz
>
> * deffilep.y (command): Call def_image_name only if name isn't
>NULL and not empty.
>
>Regression tested for x86_64-w64-mingw32, i686-w64-mingw32, and
>i686-pc-cygwin. ok for apply?
>
>Regards,
>Kai
>
>Index: defparse.y
>===================================================================
>RCS file: /cvs/src/src/binutils/defparse.y,v
>retrieving revision 1.14
>diff -u -r1.14 defparse.y
>--- defparse.y 24 Feb 2012 14:20:16 -0000 1.14
>+++ defparse.y 25 Jul 2012 20:56:31 -0000
>@@ -52,7 +52,12 @@
>
> command:
> NAME opt_name opt_base { def_name ($2, $3); }
>- | LIBRARY opt_name opt_base option_list { def_library ($2, $3); }
>+ | LIBRARY opt_name opt_base option_list
>+ {
>+ /* Ignore LIBRARY without argument, or empty name. */
>+ if ($2 && $2[0] != 0)
>+ def_library ($2, $3);
>+ }
It seems like def_library() is also making decisions based on its first
parameter. This test will short-circuit those tests. It seems like
either this should all be handled in def_library or the tests in
def_library() should be deleted.
cgf
More information about the Binutils
mailing list