prepstrip: handle objcopy failure, bug #446774
authorZac Medico <zmedico@gentoo.org>
Mon, 10 Dec 2012 22:05:09 +0000 (14:05 -0800)
committerZac Medico <zmedico@gentoo.org>
Mon, 10 Dec 2012 22:05:09 +0000 (14:05 -0800)
bin/ebuild-helpers/prepstrip

index dd880527758a26de3ea3ac4aad31a73855be6d16..6a09ff4570308af0ad12d57238ad2ccebe60241b 100755 (executable)
@@ -124,10 +124,14 @@ save_elf_debug() {
                        ${OBJCOPY} ${objcopy_flags} "${x}" "${y}"
                        ${OBJCOPY} --add-gnu-debuglink="${y}" "${x}"
                fi
-               local args="a-x,o-w"
-               [[ -g ${x} || -u ${x} ]] && args+=",go-r"
-               chmod ${args} "${y}"
-               ln "${y}" "${inode_debug}" || die "ln failed unexpectedly"
+               # Only do the following if the debug file was
+               # successfully created (see bug #446774).
+               if [ $? -eq 0 ] ; then
+                       local args="a-x,o-w"
+                       [[ -g ${x} || -u ${x} ]] && args+=",go-r"
+                       chmod ${args} "${y}"
+                       ln "${y}" "${inode_debug}" || die "ln failed unexpectedly"
+               fi
        fi
 
        # if we don't already have build-id from debugedit, look it up