libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sr #107959] Libtool generates invalid .def files


From: Erik van Pienbroek
Subject: [sr #107959] Libtool generates invalid .def files
Date: Sun, 19 Feb 2012 22:45:45 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1

URL:
  <http://savannah.gnu.org/support/?107959>

                 Summary: Libtool generates invalid .def files
                 Project: GNU Libtool
            Submitted by: epienbro
            Submitted on: Sun 19 Feb 2012 10:45:44 PM GMT
                Category: None
                Priority: 5 - Normal
                Severity: 3 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: Microsoft Windows

    _______________________________________________________

Details:

This is a follow-up from http://sourceware.org/bugzilla/show_bug.cgi?id=13710

In the latest binutils snapshots, a change was applied which makes the
processing of .def files for the win32/win64 targets more strict. According to
the MSDN documentation at
http://msdn.microsoft.com/en-us/library/d91k01sh%28v=vs.80%29.aspx all .def
files must start with 'LIBRARY mylib.dll' followed by 'EXPORTS'.

Let's take this simple .def file for example:

LIBRARY mylib.dll
EXPORTS
my_func

If this .def file is processed by libtool then it automatically performs this
set of commands:

libtool: link: if test "x`/bin/sed 1q .libs/libcairo.def`" = xEXPORTS; then
cp
.libs/libcairo.def .libs/libcairo-2.dll.def; else echo EXPORTS >
.libs/libcairo-2.dll.def; cat .libs/libcairo.def >> .libs/libcairo-2.dll.def;
fi

This set of commands check if the first line of the .def file contains
'EXPORTS' and if this isn't the case, it automatically adds it.

Given the example .def file I mentioned earlier this will end up in:

EXPORTS
LIBRARY mylib.dll
EXPORTS
my_func

This obviously is incorrect and can't be processed by binutils.

Can libtool be changed so that it can process these kind of situations more
properly?




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/support/?107959>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]