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/