This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Problems with objcopy and PIE
- From: Peter Hjalmarsson <xake at rymdraket dot net>
- To: binutils at sourceware dot org
- Date: Sat, 17 Oct 2009 09:18:54 +0200
- Subject: Problems with objcopy and PIE
In the manpage for objcopy it says:
"Note that objcopy should be able to copy a fully linked file between
any two formats. However, copying a relocatable object file between
any two formats may not work as expected."
Now I have an little issue with objcopy and my question is if this is
something that is expected or if this is a bug in objcopy.
Here is the problem in commands and output.
Notice how for the first round tmp and tmp2 got the same permissions,
while when compiled with "-fPIE -pie" they have not:
$ echo "main(){}" > tmp.c && gcc -o tmp tmp.c && objcopy tmp tmp2 && ls
-l tmp tmp2
-rwxr-xr-x 1 xake xake 8081 17 okt 09.12 tmp
-rwxr-xr-x 1 xake xake 8081 17 okt 09.12 tmp2
$ echo "main(){}" > tmp.c && gcc -fPIE -pie -o tmp tmp.c && objcopy tmp
tmp2 && ls -l tmp tmp2
-rwxr-xr-x 1 xake xake 8133 17 okt 09.13 tmp
-rw-r--r-- 1 xake xake 8133 17 okt 09.13 tmp2