Jan Kratochvil b6aa878
http://sourceware.org/ml/gdb-patches/2017-01/msg00110.html
Jan Kratochvil b6aa878
Subject: [patch] contrib/gdb-add-index.sh: chmod u+w
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
--AhhlLboLdkugWU4S
Jan Kratochvil b6aa878
Content-Type: text/plain; charset=us-ascii
Jan Kratochvil b6aa878
Content-Disposition: inline
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
Hi,
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
in Fedora 24 it still worked, in Fedora 25 it does not - *-debuginfo.rpm
Jan Kratochvil b6aa878
no longer have the .gdb_index accelerating section now.
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
It happens because:
Jan Kratochvil b6aa878
objcopy: unable to copy file 'foo.debug'; reason: Permission denied
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
*.debug files in Fedora were always 444 but the time gdb-add-index is run is
Jan Kratochvil b6aa878
still before the *.debug split and in Fedora 24 the files were -rwxr-xr-x
Jan Kratochvil b6aa878
that time while in Fedora 25 they are apparently no longer w.
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
OK for check-in?
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
Jan
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
--AhhlLboLdkugWU4S
Jan Kratochvil b6aa878
Content-Type: text/plain; charset=us-ascii
Jan Kratochvil b6aa878
Content-Disposition: inline; filename=1
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
gdb/ChangeLog
Jan Kratochvil b6aa878
2017-01-06  Jan Kratochvil  <jan.kratochvil@redhat.com>
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
	* contrib/gdb-add-index.sh: Use chmod u+w for $file.
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
diff --git a/gdb/contrib/gdb-add-index.sh b/gdb/contrib/gdb-add-index.sh
Jan Kratochvil b6aa878
index 0cd4ce3..5a190a0 100755
Jan Kratochvil b6aa878
--- a/gdb/contrib/gdb-add-index.sh
Jan Kratochvil b6aa878
+++ b/gdb/contrib/gdb-add-index.sh
Jan Kratochvil b6aa878
@@ -38,10 +38,11 @@ fi
Jan Kratochvil b6aa878
 dir="${file%/*}"
Jan Kratochvil b6aa878
 test "$dir" = "$file" && dir="."
Jan Kratochvil b6aa878
 index="${file}.gdb-index"
Jan Kratochvil b6aa878
+mode="${file}.mode"
Jan Kratochvil b6aa878
 
Jan Kratochvil b6aa878
-rm -f $index
Jan Kratochvil b6aa878
+rm -f $index $mode
Jan Kratochvil b6aa878
 # Ensure intermediate index file is removed when we exit.
Jan Kratochvil b6aa878
-trap "rm -f $index" 0
Jan Kratochvil b6aa878
+trap "rm -f $index $mode" 0
Jan Kratochvil b6aa878
 
Jan Kratochvil b6aa878
 $GDB --batch -nx -iex 'set auto-load no' \
Jan Kratochvil b6aa878
     -ex "file $file" -ex "save gdb-index $dir" || {
Jan Kratochvil b6aa878
@@ -58,8 +59,13 @@ $GDB --batch -nx -iex 'set auto-load no' \
Jan Kratochvil b6aa878
 status=0
Jan Kratochvil b6aa878
 
Jan Kratochvil b6aa878
 if test -f "$index"; then
Jan Kratochvil b6aa878
+    touch "$mode"
Jan Kratochvil b6aa878
+    chmod --reference="$file" "$mode"
Jan Kratochvil b6aa878
+    # objcopy: unable to copy file 'foo.debug'; reason: Permission denied
Jan Kratochvil b6aa878
+    chmod u+w "$file"
Jan Kratochvil b6aa878
     $OBJCOPY --add-section .gdb_index="$index" \
Jan Kratochvil b6aa878
 	--set-section-flags .gdb_index=readonly "$file" "$file"
Jan Kratochvil b6aa878
+    chmod --reference="$mode" "$file"
Jan Kratochvil b6aa878
     status=$?
Jan Kratochvil b6aa878
 else
Jan Kratochvil b6aa878
     echo "$myname: No index was created for $file" 1>&2
Jan Kratochvil b6aa878
Jan Kratochvil b6aa878
--AhhlLboLdkugWU4S--
Jan Kratochvil b6aa878