Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <432A3BD1.1040702@cwilson.fastmail.fm> Date: Thu, 15 Sep 2005 23:28:17 -0400 From: Charles Wilson User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Bug in gcc and/or binutils? References: <90459864DAD67D43BDD3D517DEFC2F7D05B22C AT axon DOT Axentia DOT local> <4329D50B DOT 6080804 AT familiehaase DOT de> In-Reply-To: <4329D50B.6080804@familiehaase.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit FWIW, this is not a "recent" regression --- nothing "changed" in binutils or gcc. I just installed binutils-20040725-2 from the Cygwin Time Machine and got identical output. This was a surprise to me: *I* thought that we no longer needed the DATA flag in .def files because binutils was smart enough to figure that out on its own -- obviously, it does so when auto-EXporting, so why can't it do so when using a .def file? Using .def files turns off the auto-EXport logic (which it should, because if you specify a specific set of exports you don't want binutils adding a few more on its own). However, this "turn off the auto-EXport logic" seems to include turning off the "is this symbol a DATA item or a function" logic. I never knew that. So, given my mistaken understanding, I wanted to know if this was a recent "regression" in binutils. But, it's always been like that -- it is not a regression at all. The question is, should binutils be "fixed" to keep the "is this symbol a DATA item or a function" logic active even when using .def files? I'm not sure the answer is yes. Wouldn't this imply giving binutils override power, if I marked a *function* symbol with 'DATA' in the .def file -- the converse of the case described by Gerritt? Basically, we'd be making binutils IGNORE any 'DATA' (or lack thereof) decoration in the .def file, and just "do what it thinks is best". This doesn't seem to be the path of wisdom, to me. If I'm using a .def file, it's likely because in the specific situation I don't trust binutils to "do what it thinks is best"; if I did, I'd let the auto-EXport logic do its thing. So, to me it looks more and more that libtool ought to be more careful when creating its .def file... Which is the long-winded way of saying that I agree with Gerritt. -- Chuck -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/