Problems with objcopy and PIE

Peter Hjalmarsson xake@rymdraket.net
Sat Oct 17 07:19:00 GMT 2009


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



More information about the Binutils mailing list