X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Fri, 20 Feb 2009 14:45:01 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: [ANNOUNCEMENT] [1.7] Updated: file-5.00-1 Message-ID: <20090220134501.GA6180@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <499E2B9A DOT 5030907 AT cwilson DOT fastmail DOT fm> <20090220095916 DOT GA759 AT calimero DOT vinschen DOT de> <499EB1AB DOT 9060808 AT gmail DOT com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <499EB1AB.9060808@gmail.com> User-Agent: Mutt/1.5.17 (2007-11-01) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Feb 20 13:35, Dave Korn wrote: > Corinna Vinschen wrote: > > Apparently. I rebased the DLL alone and afterwards file simply stopped > > working. The DLL has a base address of 0x6a500000. Even rebasing to > > the very same address results in a coredump! > > > > The DLL has been built with -static-libgcc. Assuming that this might > > have been the reason I rebuilt the file package without -static-libgcc, > > so the DLL now depends on cyggcc_s.dll. And, guess what, afterwards > > the DLL is rebaseable just fine. > > > > Dave? Any idea why this occurs? The crash happens when the Cygwin DLL > > is running the ctors list. Given that the file package is using plain > > C, it seems that a static libgcc is non-relocatable for whatever reason. > > Investigating. While I do that, I noticed a bug: > > libtool: compile: gcc-4 -DHAVE_CONFIG_H -I. -I.. > -DMAGIC=\"/usr/local/share/file/magic\" -Wall -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wmissing-declarations -Wredundant-decls > -Wnested-externs -Wsign-compare -Wreturn-type -Wswitch -Wshadow -Wcast-qual > -Wwrite-strings -Wextra -Wunused-parameter -g -O2 -MT magic.lo -MD -MP -MF > .deps/magic.Tpo -c magic.c -o magic.o > magic.c: In function 'file_or_fd': > magic.c:304: warning: passing argument 1 of 'strlcat' makes pointer from > integer without a cast > > 304 (void)strlcat(strlcpy(tmp, inname, len), ".exe", len); > > > That sort of construct works for "strcat (strcpy ())" but not for the 'l' > versions, they aren't drop-in replacements. Urgh! Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- 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/