diff options
author | Christopher Faylor <me@cgf.cx> | 2006-07-14 19:33:55 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2006-07-14 19:33:55 +0000 |
commit | ebc223f182d9c276c715c9a3683a7302f4c98fe6 (patch) | |
tree | d5ef4d5fa8889c198891592503ebdc4582c50eb5 /winsup | |
parent | 62f94a893e01ac6542ec798bc7967da105c05e4c (diff) | |
download | cygnal-ebc223f182d9c276c715c9a3683a7302f4c98fe6.tar.gz cygnal-ebc223f182d9c276c715c9a3683a7302f4c98fe6.tar.bz2 cygnal-ebc223f182d9c276c715c9a3683a7302f4c98fe6.zip |
* cygwin.sc: Make sure there's something in the cygheap.
* dllfixdbg: Accommodate newer binutils which put the gnu_debuglink at the end
rather than at the beginning.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/cygwin.sc | 1 | ||||
-rwxr-xr-x | winsup/cygwin/dllfixdbg | 4 |
3 files changed, 10 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 2877f44fb..dcc4cd95f 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2006-07-14 Christopher Faylor <cgf@timesys.com> + + * cygwin.sc: Make sure there's something in the cygheap. + * dllfixdbg: Accommodate newer binutils which put the gnu_debuglink at + the end rather than at the beginning. + 2006-07-13 Christopher Faylor <cgf@timesys.com> * sigproc.cc (waitq_head): Don't initialize to zero. diff --git a/winsup/cygwin/cygwin.sc b/winsup/cygwin/cygwin.sc index cc2b9e6c6..58ee37664 100644 --- a/winsup/cygwin/cygwin.sc +++ b/winsup/cygwin/cygwin.sc @@ -106,6 +106,7 @@ SECTIONS { __cygheap_mid = .; *(.cygheap) + . = . + 1; . = ALIGN(512 * 1024); } __cygheap_end = ABSOLUTE(.); diff --git a/winsup/cygwin/dllfixdbg b/winsup/cygwin/dllfixdbg index 909d11355..4ffc4e6ce 100755 --- a/winsup/cygwin/dllfixdbg +++ b/winsup/cygwin/dllfixdbg @@ -24,9 +24,10 @@ while (<OBJDUMP>) { my ($idx, $name, $size, $vma, $lma, $fileoff, $algn) = /^\s*(\d+)\s+(\.\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s*$/; if ($name eq '.gnu_debuglink') { push(@objcopy, '--set-section-flag', '.gnu_debuglink=contents,readonly,debug,noload'); + $idx = $section{'.gnu_debuglink'}{-idx} if defined($section{'.gnu_debuglink'}{-idx}); } elsif ($name eq '.gnu_debuglink_overlay') { push (@objcopy, '-R', '.gnu_debuglink_overlay'); - $section{'.gnu_debuglink'}{-idx} = $idx if $section{'.gnu_debuglink'}; + $section{'.gnu_debuglink'}{-idx} = $idx; next; } defined($idx) and @@ -53,6 +54,7 @@ for my $k (sort {$section{$a}{-idx} <=> $section{$b}{-idx}} keys %section) { } $vma = align($vma + $section{$k}{-size}, $section{$k}{-algn}); } + warn "$0: ERROR final VMA (" . sprintf("0x%08x", $vma) . ") not on 64K boundary\n" if $vma != align($vma, 64 * 1024); push(@objcopy, $dll, @ARGV); xit 1, @objcopy; |