hanchenye-llvm-project/lld/test
Rui Ueyama 495a031ce4 [PECOFF] Fix AMD64_REL_[1-5] and AMD64_SECTION relocations
I hope this is the last fix for x64 relocations as I've wasted
a few days on this.

This caused a mysterious issue that some C++ programs crash on
startup. It was because a null pointer is passed as argv to main.
__tmainCRTStartup calls main, but before that it calls all
initialization routines between .text$xc_a and .text$xc_z.
pre_cpp_init is one of such routines, and it is the one who
initializes a heap pointer for argv for later use. That routine
was not called for some reason.

It turned out that __tmainCRTStartup was skipping a block of
code because of the relocation bug. A condition in the function
depends on a memory load, and that memory load was referring
a wrong location. As a result a jump instruction took the
wrong branch, skipping pre_cpp_init and so on.

This patch fixes the issue. Also added more tests to fix them
once and for all.

llvm-svn: 216772
2014-08-29 20:33:27 +00:00
..
Driver [ELF] Fix the bug -- LLD crashes if the --whole-archive option 2014-06-10 13:43:13 +00:00
LinkerScript [ELF] Implement parsing `-l` prefixed items in the `GROUP` linker script command. 2014-07-15 17:17:30 +00:00
Unit
core Move GOTPass and StubsPass from Core to MachO 2014-07-09 21:04:24 +00:00
darwin [mach-o] refactor KindHandler into ArchHandler and simplify passes. 2014-07-16 19:49:02 +00:00
elf [AArch64] Initial ELF/AArch64 Support 2014-08-13 13:16:38 +00:00
mach-o [mach-o] support N_NO_DEAD_STRIP nlist.desc bit 2014-08-21 22:18:30 +00:00
pecoff [PECOFF] Fix AMD64_REL_[1-5] and AMD64_SECTION relocations 2014-08-29 20:33:27 +00:00
CMakeLists.txt Add missing dependency to macho-dump. 2014-07-02 18:16:31 +00:00
Makefile Initial set of Makefiles 2014-06-04 09:54:07 +00:00
lit.cfg XFAIL the ARM test when we don't have this target. 2014-07-31 19:02:10 +00:00
lit.site.cfg.in