diff options
author | Christopher Faylor <me@cgf.cx> | 2005-08-08 13:53:05 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-08-08 13:53:05 +0000 |
commit | 2e82c9355f9d42076b3da7694ed025c1c8617309 (patch) | |
tree | a9d114d7fbbc20092acd38cdbbab215996f34cf9 /winsup/cygwin | |
parent | a8b939adc7960bebfb4ce8ea03394de6c0c5ff72 (diff) | |
download | newlib-2e82c9355f9d42076b3da7694ed025c1c8617309.zip newlib-2e82c9355f9d42076b3da7694ed025c1c8617309.tar.gz newlib-2e82c9355f9d42076b3da7694ed025c1c8617309.tar.bz2 |
* cygwin.sc: Use simpler method to align .cygheap.
* dllfixdbg: Just copy .stab and .stabstr sections when making cygwin1.dbg,
rather than relying on objcopy to keep only the debug sections since objcopy
seems to get it wrong.
* dtable.cc (build_fh_pc): Check setting fh to fhandler_nodevice for NULL, too.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 12 | ||||
-rw-r--r-- | winsup/cygwin/cygwin.sc | 2 | ||||
-rwxr-xr-x | winsup/cygwin/dllfixdbg | 2 | ||||
-rw-r--r-- | winsup/cygwin/dtable.cc | 13 |
4 files changed, 20 insertions, 9 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index b999c27..3765e09 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,15 @@ +2005-08-08 Christopher Faylor <cgf@timesys.com> + + * cygwin.sc: Use simpler method to align .cygheap. + * dllfixdbg: Just copy .stab and .stabstr sections when making + cygwin1.dbg, rather than relying on objcopy to keep only the debug + sections since objcopy seems to get it wrong. + +2005-08-08 Corinna Vinschen <corinna@vinschen.de> + + * dtable.cc (build_fh_pc): Check setting fh to fhandler_nodevice for + NULL, too. + 2005-08-08 Corinna Vinschen <corinna@vinschen.de> * ftw.c: Include winsup.h. diff --git a/winsup/cygwin/cygwin.sc b/winsup/cygwin/cygwin.sc index 1bfbd79..cc2b9e6 100644 --- a/winsup/cygwin/cygwin.sc +++ b/winsup/cygwin/cygwin.sc @@ -106,7 +106,7 @@ SECTIONS { __cygheap_mid = .; *(.cygheap) - . = ALIGN(512 * 1024, 0x10000); + . = ALIGN(512 * 1024); } __cygheap_end = ABSOLUTE(.); __cygheap_end1 = __cygheap_mid + SIZEOF(.cygheap); diff --git a/winsup/cygwin/dllfixdbg b/winsup/cygwin/dllfixdbg index 1e467d3..8d66988 100755 --- a/winsup/cygwin/dllfixdbg +++ b/winsup/cygwin/dllfixdbg @@ -8,7 +8,7 @@ my $objdump = shift; my @objcopy = ((shift)); my $dll = shift; my $dbg = shift; -xit 0, @objcopy, '--only-keep-debug', $dll, $dbg; +xit 0, @objcopy, '-j', '.stab', '-j', '.stabstr', $dll, $dbg; xit 0, @objcopy, '-g', '--add-gnu-debuglink=' . $dbg, $dll; open(OBJDUMP, '-|', "$objdump --headers $dll"); my %section; diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc index 4164740..220d28c 100644 --- a/winsup/cygwin/dtable.cc +++ b/winsup/cygwin/dtable.cc @@ -473,14 +473,13 @@ build_fh_pc (path_conv& pc) } } - if (!fh) - set_errno (EMFILE); + if (fh == fh_unset) + fh = cnew (fhandler_nodevice) (); + + if (fh) + fh->set_name (pc); else - { - if (fh == fh_unset) - fh = cnew (fhandler_nodevice) (); - fh->set_name (pc); - } + set_errno (EMFILE); debug_printf ("fh %p", fh); return fh; |