Use a temporary directory in wrap-find-debuginfo.sh
This avoids the need for separate variables for all files.
This commit is contained in:
		
							parent
							
								
									885b520a6d
								
							
						
					
					
						commit
						6c17684392
					
				| @ -15,9 +15,10 @@ | |||||||
| 
 | 
 | ||||||
| set -ex | set -ex | ||||||
| 
 | 
 | ||||||
| ldso_tmp="$(mktemp)" | workdir="$(mktemp -d -t find_debuginfo.XXXXXX)" | ||||||
| libc_tmp="$(mktemp)" | 
 | ||||||
| libc_dlink_tmp="$(mktemp)" | ldso_tmp="$workdir/ld.so" | ||||||
|  | libc_tmp="$workdir/libc.so" | ||||||
| 
 | 
 | ||||||
| # Prefer a separately installed debugedit over the RPM-integrated one. | # Prefer a separately installed debugedit over the RPM-integrated one. | ||||||
| if command -v debugedit >/dev/null ; then | if command -v debugedit >/dev/null ; then | ||||||
| @ -27,7 +28,7 @@ else | |||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| cleanup () { | cleanup () { | ||||||
|     rm -f "$ldso_tmp" "$libc_tmp" "$libc_dlink_tmp" |     rm -rf "$workdir" | ||||||
| } | } | ||||||
| trap cleanup 0 | trap cleanup 0 | ||||||
| 
 | 
 | ||||||
| @ -69,7 +70,7 @@ cp "$libc_path" "$libc_tmp" | |||||||
| 
 | 
 | ||||||
| # libc.so.6: Extract the .gnu_debuglink section | # libc.so.6: Extract the .gnu_debuglink section | ||||||
| objcopy -j.gnu_debuglink --set-section-flags .gnu_debuglink=alloc \ | objcopy -j.gnu_debuglink --set-section-flags .gnu_debuglink=alloc \ | ||||||
|   -O binary "$libc_path" "$libc_dlink_tmp" |   -O binary "$libc_path" "$libc_tmp.debuglink" | ||||||
| 
 | 
 | ||||||
| # Restore the original files. | # Restore the original files. | ||||||
| cp "$ldso_tmp" "$ldso_path" | cp "$ldso_tmp" "$ldso_path" | ||||||
| @ -80,7 +81,7 @@ objcopy --merge-notes "$ldso_path" | |||||||
| objcopy --merge-notes "$libc_path" | objcopy --merge-notes "$libc_path" | ||||||
| 
 | 
 | ||||||
| # libc.so.6: Restore the .gnu_debuglink section | # libc.so.6: Restore the .gnu_debuglink section | ||||||
| objcopy --add-section .gnu_debuglink="$libc_dlink_tmp" "$libc_path" | objcopy --add-section .gnu_debuglink="$libc_tmp.debuglink" "$libc_path" | ||||||
| 
 | 
 | ||||||
| # ld.so does not have separated debuginfo and so the debuginfo file | # ld.so does not have separated debuginfo and so the debuginfo file | ||||||
| # generated by find-debuginfo is redundant.  Therefore, remove it. | # generated by find-debuginfo is redundant.  Therefore, remove it. | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user