This is the mail archive of the cygwin mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Wed, Jul 18, 2007 at 08:29:24AM -0700, Brian Dessent wrote: > The problem > occurs when you have a data structure (typically a struct) declared > const that contains any reference to a variable that is imported from > another DLL. A fuller explanation is > <http://www.cygwin.com/ml/cygwin/2004-09/msg01101.html>. > > As you can see from Chuck's message it's kind of a hairy situation in > that there is no "real" fix for it other than undoing the optimization > of placing these in a readonly section. That can be accomplished by > either using a modified linker script or by removing the 'const' from > the declaration. The former is a sort of brute force/last ditch > approach which is useful if you have a very large code base with lots of > modules and you can't or don't want to hunt down the offending structs. > I think the qt project had to take this approach: > <http://www.cygwin.com/ml/cygwin/2004-10/msg01052.html> > > I'm not convinced this is what's wrong in your case, but it fits the > symptoms so it's worth ruling out. Hello Brian, that's it! Thanks a lot for your hint. I was wrong with my assumption that it was only K&R C code. Obviously someone is maintaining the code - and put "const" modifiers into the code. I followed that brute force method with the modified linker script - and succeeded. For all of you who might have the same problem in future, I include that linker script in the attachment. Store it under: /lib/ldscripts/i386pe.x-no-rdata And use these options for linking (use gcc!): -Wl,--script,/lib/ldscripts/i386pe.x-no-rdata One big problem remains. Maybe I should better start a new thread for this but maybe someone has a quick answer for me here... Jove is an Emacs like editor. As such it uses the key sequence CONTROL-X CONTROL-C (^X^C) for leaving the editor. In Cygwin however ^C still sends the interrupt signal to the editor. However the keystroke ^C should have been changed to not sending that signal. On most platforms that works - but not in Cygwin. I can't tell right now what mechanism Jove is using for handling the terminal under Cygwin. There so many mechanisms: "struct termio", "struct termios", "struct sgttyb". Jove under Cygwin follows BSD POSIX. Does anyone have an idea on how that interrupt signal can be switched off for ^C? Jove's code seems to be ok here because I already compiled that code on several platforms. A bug in Cygwin? What should be used in Cygwin: - struct termio - struct termios - struct sgttyb Interesting to know: I just installed "screen" and Jove's exit command (^X^C) is working fine under screen. So what is different? Hans
Attachment:
i386pe.x-no-rdata
Description: Text document
-- 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/
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |