diff options
author | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-18 19:44:04 +0000 |
---|---|---|
committer | aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-18 19:44:04 +0000 |
commit | dfd3ea34821fac7d792ce6c6a752f5fa2d07f7d2 (patch) | |
tree | 2e6b825684f24764477329b5327cc36af371a034 /contrib | |
parent | 6a23d9c285645acd3ead0fe5971dcbe79d8937fe (diff) | |
download | gcc-dfd3ea34821fac7d792ce6c6a752f5fa2d07f7d2.tar.gz |
* compare-debug: Drop .eh_frame relocations too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150901 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/ChangeLog | 4 | ||||
-rwxr-xr-x | contrib/compare-debug | 38 |
2 files changed, 19 insertions, 23 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 6ea5ebf24f5..778f380eddc 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,7 @@ +2009-08-18 Alexandre Oliva <aoliva@redhat.com> + + * compare-debug: Drop .eh_frame relocations too. + 2009-08-18 H.J. Lu <hongjiu.lu@intel.com> PR testsuite/40704 diff --git a/contrib/compare-debug b/contrib/compare-debug index e91e05d576e..9864ee91f30 100755 --- a/contrib/compare-debug +++ b/contrib/compare-debug @@ -107,41 +107,33 @@ else trap 'rm -f "$1.$suf1" "$2.$suf2" "$1.$suf3" "$2.$suf4"' 0 1 2 15 - if (objcopy -v) 2>&1 | grep -e "--remove-section" > /dev/null; then - objcopy --remove-section .eh_frame "$1.$suf1" "$1.$suf3" - cmp "$1.$suf1" "$1.$suf3" > /dev/null - cmp1=$? - - objcopy --remove-section .eh_frame "$2.$suf2" "$2.$suf4" - cmp "$2.$suf2" "$2.$suf4" > /dev/null - cmp2=$? + echo stripping off .eh_frame, then retrying >&2 + if (objcopy -v) 2>&1 | grep -e "--remove-section" > /dev/null; then + objcopy --remove-section .eh_frame --remove-section .rel.eh_frame --remove-section .rela.eh_frame "$1.$suf1" "$1.$suf3" mv "$1.$suf3" "$1.$suf1" + + objcopy --remove-section .eh_frame --remove-section .rel.eh_frame --remove-section .rela.eh_frame "$2.$suf2" "$2.$suf4" mv "$2.$suf4" "$2.$suf2" elif (strip --help) 2>&1 | grep -e --remove-section > /dev/null; then cp "$1.$suf1" "$1.$suf3" - strip --remove-section .eh_frame "$1.$suf3" + strip --remove-section .eh_frame --remove-section .rel.eh_frame --remove-section .rela.eh_frame "$1.$suf3" + mv "$1.$suf3" "$1.$suf1" cp "$2.$suf2" "$2.$suf4" - strip --remove-section .eh_frame "$2.$suf4" - - cmp "$1.$suf1" "$1.$suf3" > /dev/null - cmp1=$? - - cmp "$2.$suf2" "$2.$suf4" > /dev/null - cmp2=$? - - mv "$1.$suf3" "$1.$suf1" + strip --remove-section .eh_frame --remove-section .rel.eh_frame --remove-section .rela.eh_frame "$2.$suf4" mv "$2.$suf4" "$2.$suf2" + else + echo failed to strip off .eh_frame >&2 fi trap 'rm -f "$1.$suf1" "$2.$suf2"' 0 1 2 15 - fi - if test "x$cmp1" != "x$cmp2" && cmp "$1.$suf1" "$2.$suf2"; then - status=0 - else - status=1 + if cmp "$1.$suf1" "$2.$suf2"; then + status=0 + else + status=1 + fi fi fi |