Brian Cheeseman schreef: > Hi All, > > Below is the last lines of the output from my 'make tooldir=/usr'. I am > a little perplexed as to why it is trying to write to the text section > of this library after the lib has been created. I have also included a > 'readelf -l' of the library taken from outside my jail. I am thinking > that a patch to the Makefile is probably in order although I would > rather understand the issue first. > > By my reading of the readelf output there is no way of using the > standard tools to write into the .text section as it is in segment 00, > which is flagged as read and execute. I must admit that I am not > familiar with dealing with C issues of this depth so any insight or > corrections to my reasoning would be appreciated. > > In short my belief is that we may need to patch the Makefile to move the > .text section probably into either segment 01 or 02, but my knowledge > here is rudimentary. > > Kind Regards, > Brian. > > > /sources/butterfly-build/./gcc/xgcc -B/sources/butterfly-build/./gcc/ > -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem > /usr/i686-pc-linux-gnu/include -isystem > /usr/i686-pc-linux-gnu/sys-include -L/sources/butterfly-build/./ld -O2 > -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes > -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. > -I../../butterfly-toolchain/gcc -I../../butterfly-toolchain/gcc/. > -I../../butterfly-toolchain/gcc/../include -I./../intl > -I../../butterfly-toolchain/gcc/../libcpp/include -g0 > -finhibit-size-directive -fno-inline-functions -fno-exceptions > -fno-stack-protector -fno-zero-initialized-in-bss -fno-unit-at-a-time > -fno-PIE -fPIC -fno-omit-frame-pointer \ > -c ../../butterfly-toolchain/gcc/crtstuff.c -DCRT_BEGIN \ > -o crtbegin.o > Can't modify /sources/butterfly-build/bfd/.libs/libbfd-2.17.so's text > section. Use GCC option -fPIC for shared objects, please. > make[2]: *** [crtbegin.o] Error 1 > make[2]: Leaving directory `/sources/butterfly-build/gcc' > make[1]: *** [all-gcc] Error 2 > make[1]: Leaving directory `/sources/butterfly-build' > make: *** [all] Error 2 > > > # readelf -l /mnt/hlfs/sources/butterfly-build/bfd/.libs/libbfd-2.17.so > > Elf file type is DYN (Shared object file) > Entry point 0x10970 > There are 7 program headers, starting at offset 52 > > Program Headers: > Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align > LOAD 0x000000 0x00000000 0x00000000 0x857d4 0x857d4 R E 0x1000 > LOAD 0x086664 0x00086664 0x00086664 0x05d60 0x09f6c RW 0x1000 > DYNAMIC 0x08b85c 0x0008b85c 0x0008b85c 0x000e8 0x000e8 RW 0x4 > GNU_EH_FRAME 0x08575c 0x0008575c 0x0008575c 0x0001c 0x0001c R 0x4 > GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4 > GNU_RELRO 0x086664 0x00086664 0x00086664 0x0599c 0x0599c R 0x1 > LOOS+5041580 0x000000 0x00000000 0x00000000 0x00000 0x00000 0x4 > > Section to Segment mapping: > Segment Sections... > 00 .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn > .rel.plt .init .plt .text .fini .rodata .eh_frame_hdr .eh_frame > 01 .ctors .dtors .jcr .data.rel.ro .dynamic .got .data .bss > 02 .dynamic > 03 .eh_frame_hdr > 04 > 05 .ctors .dtors .jcr .data.rel.ro .dynamic .got > 06 > > Brian,
Is this topic on any interest for you?: http://linuxfromscratch.org/pipermail/hlfs-dev/2005-May/002246.html I found a copy of the hardened-specs.sh file here: http://www.linuxquestions.org/questions/showthread.php?t=360129 Rob -- http://linuxfromscratch.org/mailman/listinfo/hlfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
