Amadeus wrote:
> Hi, sorry for the idiot question, but how to pass --hash-style=both? I
> tried editing /usr/lib/gcc/i386-redhat-linux/4.1.1/specs but gcc
> -dumpspecs still show's hash-style=gnu.
>
> I'll post back to the list when all is well.
>
> Thanks
>
> Amadeus
>
Sorry if I repost the mail, but now I'm sending it from my lfs system.
On Fedora Core 6:
Let's take the dummy.c from the Adjusting the Toolchain phase:
echo 'main(){}' > dummy.c
cc dummy.c
[EMAIL PROTECTED] ~]# readelf -l a.out
Elf file type is EXEC (Executable file)
Entry point 0x8048280
There are 7 program headers, starting at offset 52
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Allign
PHDR 0x000034 0x08048034 0x08048034 0x000e0 0x000e0 R E 0x4
INTERP 0x000114 0x08048114 0x08048114 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x00414 0x00414 R E 0x1000
LOAD 0x000414 0x08049414 0x08049414 0x000fc 0x00100 RW 0x1000
DYNAMIC 0x000428 0x08049428 0x08049428 0x000c8 0x000c8 RW 0x4
NOTE 0x000128 0x08048128 0x08048128 0x00020 0x00020 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version
.gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame
03 .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
04 .dynamic
05 .note.ABI-tag
06
[EMAIL PROTECTED] ~]#
cc -Xlinker --hash-style=sysv dummy.c
[EMAIL PROTECTED] ~]# readelf -l a.out
Elf file type is EXEC (Executable file)
Entry point 0x8048280
There are 7 program headers, starting at offset 52
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x000e0 0x000e0 R E 0x4
INTERP 0x000114 0x08048114 0x08048114 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x00414 0x00414 R E 0x1000
LOAD 0x000414 0x08049414 0x08049414 0x000fc 0x00100 RW 0x1000
DYNAMIC 0x000428 0x08049428 0x08049428 0x000c8 0x000c8 RW 0x4
NOTE 0x000128 0x08048128 0x08048128 0x00020 0x00020 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version
.gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame
03 .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
04 .dynamic
05 .note.ABI-tag
06
[EMAIL PROTECTED] ~]#
cc -Wl,--hash-style=both dummy.c
[EMAIL PROTECTED] ~]# readelf -l a.out
Elf file type is EXEC (Executable file)
Entry point 0x80482a0
There are 7 program headers, starting at offset 52
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x000e0 0x000e0 R E 0x4
INTERP 0x000114 0x08048114 0x08048114 0x00013 0x00013 R 0x1
[Requesting program interpreter: /lib/ld-linux.so.2]
LOAD 0x000000 0x08048000 0x08048000 0x00434 0x00434 R E 0x1000
LOAD 0x000434 0x08049434 0x08049434 0x00104 0x00108 RW 0x1000
DYNAMIC 0x000448 0x08049448 0x08049448 0x000d0 0x000d0 RW 0x4
NOTE 0x000128 0x08048128 0x08048128 0x00020 0x00020 R 0x4
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RW 0x4
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .hash .gnu.hash .dynsym .dynstr
.gnu.version .gnu.version_r .rel.dyn .rel.plt .init .plt .text .fini
.rodata .eh_frame
03 .ctors .dtors .jcr .dynamic .got .got.plt .data .bss
04 .dynamic
05 .note.ABI-tag
06
[EMAIL PROTECTED] ~]#
It's possible to pass "-Wa,<arg>" options to assembler, "-Wp,<arg>"
options to the prepocessor, "-Wl,<arg>" options to the linker;
"-Xassembler <arg>" option to the assembler, "-Xpreprocessor <arg>"
option to the preprocessor and "-Xlinker <arg>" option to the linker;
same for gcc and g++.
So a "cc="cc -Xlinker --hash-style=sysv"", "gcc="gcc -Xlinker
--hash-style=sysv"" and "g++="g++ -Xlinker --hash-style=sysv"" should do
the trick without problems (or at least, I compiled the toolchain in
this way to test and it compiled flawlessly).
Have a good evening to all.
Luca
P.S. Sorry for being pedantic with the examples, but I think that an
example could be better than words.
--
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page