Difference between just having cygwin1.dll and running under cygw in
What's the difference between running an executable in the cygwin environment and running it in a Win2K DOS shell on the same machine(which obviously has cygwin1.dll)? As I mentioned in another thread of mine, I have a program(port of objcopy) that I've compiled that runs just fine under cygwin, but crashes with a stack violation whenever I run it under a DOS window on the same machine! Obviously, I have done something in my code that has created a dependency on the environment provided by cygwin, but I have been at a complete loss as to discover what it is. My makefile does the same thing as the objcopy makefile, but the result of my compilation is something that only works under cygwin. I'd appreciate any ideas or pointers to information. -Original Message- From: Larry Hall [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 10, 2004 9:13 AM To: Liang, James; 'Cygwin List' Subject: RE: using shared libraries w/o cygwin James, If you want to build objcopy locally and have it linked against cygwin1.dll, just compile it with Cygwin's compiler. Don't use the '-mno-cygwin' flag. The 'binutils' package obviously builds 'objcopy' so you can consult that package's process if you're having problems with building your custom version. Larry At 10:44 AM 3/10/2004, you wrote: My current goal is to run my custom build of objcopy WITH cygwin1.dll Is there a special compile or link time flag that tells it to link the cygwin1.dll instead of doing whatever it's doing now that's causing the crashes? -Original Message- From: Larry Hall [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 09, 2004 7:59 PM To: Liang, James; '[EMAIL PROTECTED]' Subject: Re: using shared libraries w/o cygwin At 07:35 PM 3/9/2004, you wrote: Hi. I've got a port of objcopy that I'd like to run on Windows systems. I'd rather not have to install cygwin on the machine that I'm going to be running this tool on. The problem I'm having is that whenever I run my program on a file, it appears to have a STACK_VIOLATION on a call to malloc. It works just fine under Linux, under cygwin, and can print the usage statement and things like that under DOS, but crashes in DOS whenever I actually pass it a data file. So far, the only explanation I can come up with is that there's some sort of failure during the dynamic libraries. Is there any way I can setup a DOS environment to make it run? I tried statically linking in bfd, but that didn't seem to the problem either. Could this be caused by something else? The 'objcopy' that comes with the 'binutils' package works fine when invoked directly from a DOS prompt (outside of a Cygwin shell). Of course, that one comes with Cygwin and links to cygwin1.dll. If you don't want to have to install Cygwin or manage a local copy of cygwin1.dll on your target systems, then this isn't an option for you. However, if you're using a custom built version of 'objcopy' that doesn't use cygwin1.dll, then the question is really off-topic for this list. You'll need to debug the problem yourself. Sorry. -- Larry Hall http://www.rfk.com RFK Partners, Inc. (508) 893-9779 - RFK Office 838 Washington Street (508) 893-9889 - FAX Holliston, MA 01746 -- 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/ -- 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/
RE: using shared libraries w/o cygwin
My current goal is to run my custom build of objcopy WITH cygwin1.dll Is there a special compile or link time flag that tells it to link the cygwin1.dll instead of doing whatever it's doing now that's causing the crashes? -Original Message- From: Larry Hall [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 09, 2004 7:59 PM To: Liang, James; '[EMAIL PROTECTED]' Subject: Re: using shared libraries w/o cygwin At 07:35 PM 3/9/2004, you wrote: Hi. I've got a port of objcopy that I'd like to run on Windows systems. I'd rather not have to install cygwin on the machine that I'm going to be running this tool on. The problem I'm having is that whenever I run my program on a file, it appears to have a STACK_VIOLATION on a call to malloc. It works just fine under Linux, under cygwin, and can print the usage statement and things like that under DOS, but crashes in DOS whenever I actually pass it a data file. So far, the only explanation I can come up with is that there's some sort of failure during the dynamic libraries. Is there any way I can setup a DOS environment to make it run? I tried statically linking in bfd, but that didn't seem to the problem either. Could this be caused by something else? The 'objcopy' that comes with the 'binutils' package works fine when invoked directly from a DOS prompt (outside of a Cygwin shell). Of course, that one comes with Cygwin and links to cygwin1.dll. If you don't want to have to install Cygwin or manage a local copy of cygwin1.dll on your target systems, then this isn't an option for you. However, if you're using a custom built version of 'objcopy' that doesn't use cygwin1.dll, then the question is really off-topic for this list. You'll need to debug the problem yourself. Sorry. -- Larry Hall http://www.rfk.com RFK Partners, Inc. (508) 893-9779 - RFK Office 838 Washington Street (508) 893-9889 - FAX Holliston, MA 01746 -- 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/
using shared libraries w/o cygwin
Hi. I've got a port of objcopy that I'd like to run on Windows systems. I'd rather not have to install cygwin on the machine that I'm going to be running this tool on. The problem I'm having is that whenever I run my program on a file, it appears to have a STACK_VIOLATION on a call to malloc. It works just fine under Linux, under cygwin, and can print the usage statement and things like that under DOS, but crashes in DOS whenever I actually pass it a data file. So far, the only explanation I can come up with is that there's some sort of failure during the dynamic libraries. Is there any way I can setup a DOS environment to make it run? I tried statically linking in bfd, but that didn't seem to the problem either. Could this be caused by something else? James -- 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/
objdump creates huge file
Hi.. I'm trying to compiled my code into a small binary image. I used ld --strip-all to link together a PE executable of 22K, but when I used objcopy to convert it to a raw binary, I got an image that was over twice that size.(54K) What is causing it to be so big? How can I make it smaller? James Z. Liang [EMAIL PROTECTED] -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
Generating fixup table in PE-i386 /w linker
Whenever I create a PE-i386 exectuable with LD, it creates an exectuable file that has the relocation table(or fixup table) removed. How can I get the linker to generate this? I tried using the --emit-relocs option, but it doesn't seem to have any effect. I also tried --r and -reloc, but this causes the output to no longer me a PE executable. What format is this? James Z. Liang [EMAIL PROTECTED]