|
|
Message-ID: <20130512190742.GA6822@cachalot>
Date: Sun, 12 May 2013 23:07:42 +0400
From: Vasily Kulikov <segoon@...nwall.com>
To: owl-dev@...ts.openwall.com
Subject: Re: PIE on x86_64
On Wed, May 01, 2013 at 20:00 +0400, Vasily Kulikov wrote:
> > [root@...vista tmp]# gcc -specs=spec -DABC -E -c -
> > gcc: ABC is used!
> > [root@...vista tmp]# gcc -specs=spec -E -c -
> > gcc: ABC is not used!
> > [root@...vista tmp]# gcc --version
> > gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)
>
> The same on Owl 3.0:
>
> $ gcc --version | head -n1
> gcc (GCC) 3.4.5
> build@...halot:~ $ gcc -specs=gcc-specs -E -c -
> gcc: ABC is not used!
> build@...halot:~ $ gcc -specs=gcc-specs -DABC -E -c -
> gcc: ABC is used!
>
> But not on Owl current with gcc 4.6.3 and on Ubuntu 12.04 with gcc
> 4.6.3.
Anyway, I've finally compiled almost all Owl packages as PIE.
The exceptions:
build@...halot:~ $ for f in /{usr/,}{s,}bin/*; do ! [ -h $f ] && readelf -h $f >/dev/null 2>&1 && readelf -h $f | grep Type | grep -q EXEC && ldd $f >/dev/null 2>&1 && echo $f; done | xargs rpm -qf | sort | uniq
glibc-utils-2.3.6-owl21
build@...halot:~ $ for f in /{usr/,}{s,}bin/*; do ! [ -h $f ] && readelf -h $f >/dev/null 2>&1 && readelf -h $f | grep Type | grep -q EXEC && ldd $f >/dev/null 2>&1 && echo $f; done
/usr/sbin/iconvconfig
/usr/sbin/rpcinfo
/usr/sbin/zdump
/usr/sbin/zic
/usr/bin/gencat
/usr/bin/getconf
/usr/bin/getent
/usr/bin/iconv
/usr/bin/lddlibc4
/usr/bin/locale
/usr/bin/localedef
/usr/bin/pcprofiledump
/usr/bin/rpcgen
/usr/bin/sprof
Probably these should be made PIE too. I haven't digged into it yet,
though.
The packages which fails to build as-is:
x86_64:
kernel -- need a patch
owl-startup, vim -- builds ok after their dependencies rebuild-install
x86:
kernel -- the same, need a patch
dev86 -- builds ok with -fno-pic for elksemu
rpm -- add --with-pic configure option and add a simple patch
glibc -- added a patch from hardened gentoo
As for kernel I've added an explicit -fno-pic into kernel (not VDSO,
etc.) CFLAGS.
After patching and rebuilding everything looks OK and seems to work.
World rebuild works.
Now I have to investigate whether anything was made much slower in case
of -fPIE.
--
Vasily Kulikov
http://www.openwall.com - bringing security into open computing environments
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.