fluffybunnyuk |
05-15-2013 04:21 PM |
i thought id post my output from a smallish file...
Code:
root:/sources/zlib-1.2.8# make
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o adler32.o adler32.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o crc32.o crc32.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o deflate.o deflate.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o infback.o infback.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o inffast.o inffast.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o inflate.o inflate.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o inftrees.o inftrees.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o trees.o trees.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o zutil.o zutil.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o compress.o compress.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o uncompr.o uncompr.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o gzclose.o gzclose.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o gzlib.o gzlib.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o gzread.o gzread.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1-msse3 -c -o gzwrite.o gzwrite.c
ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example example.o -L. libz.a
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o minigzip.o test/minigzip.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip minigzip.o -L. libz.a
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/adler32.o adler32.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/crc32.o crc32.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/deflate.o deflate.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/infback.o infback.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inffast.o inffast.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inflate.o inflate.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inftrees.o inftrees.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/trees.o trees.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/zutil.o zutil.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/compress.o compress.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/uncompr.o uncompr.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzclose.o gzclose.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzlib.o gzlib.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzread.o gzread.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzwrite.o gzwrite.c
gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o libz.so.1.2.8 adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo -lc
rm -f libz.so libz.so.1
ln -s libz.so.1.2.8 libz.so
ln -s libz.so.1.2.8 libz.so.1
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o examplesh example.o -L. libz.so.1.2.8
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzipsh minigzip.o -L. libz.so.1.2.8
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o example64.o test/example.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example64 example64.o -L. libz.a
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o test/minigzip.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip64 minigzip64.o -L. libz.a
clearly thats wrong cos i end up with
No RELRO,No canary found,NX enabled,DSO,No RPATH,No RUNPATH ../zlib-1.2.8/libz.so.1.2.8
No RELRO,Canary found ,NX enabled,No PIE,No RPATH,No RUNPATH ../zlib-1.2.8/minigzip
any help with the above please cos i cant build anything till its resolved to:
Full RELRO and PIE on the exe
Full RELRO,canary on the library(havent checked to see canary support in code)
setting CFLAGS as "-fPIC -fstack-protector-all -D_FORTIFY_SOURCE=2 -march=native -mtune=native -O3 -pipe -DNDEBUG=1 -msse3 -Wl,-z,relro -Wl,-z,now" works as a stop gap of sorts.any ideas?
Emma
|