]> granicus.if.org Git - yasm/commit
Special-case _GLOBAL_OFFSET_TABLE_ in elf32/64 to generate appropriate relocs.
authorPeter Johnson <peter@tortall.net>
Tue, 21 Jul 2009 06:48:42 +0000 (06:48 -0000)
committerPeter Johnson <peter@tortall.net>
Tue, 21 Jul 2009 06:48:42 +0000 (06:48 -0000)
commit6f329fb10706d1c26fbddedcfd5d1bb8f9a330e9
treef5d8cde039cb87bc0f076021f48147a58a3e5337
parent2e2dbcd04f3ccf0f50a29879a738493f4fa7e9a9
Special-case _GLOBAL_OFFSET_TABLE_ in elf32/64 to generate appropriate relocs.

This was particularly noticable in GAS, but there was also a bug in NASM
output (lack of fixup within instruction in elf32).

Also:
- changed ssym lookup from a linear search to using assocdata
- added more relocation types (most not implemented)

Reported by: Mark Charney

svn path=/trunk/yasm/; revision=2206
modules/objfmts/elf/elf-machine.h
modules/objfmts/elf/elf-objfmt.c
modules/objfmts/elf/elf-x86-amd64.c
modules/objfmts/elf/elf-x86-x86.c
modules/objfmts/elf/elf.c
modules/objfmts/elf/elf.h
modules/objfmts/elf/tests/gas32/Makefile.inc
modules/objfmts/elf/tests/gas32/elf_gas32_got.asm [new file with mode: 0644]
modules/objfmts/elf/tests/gas32/elf_gas32_got.hex [new file with mode: 0644]