From b0022c00a3fc8adf0a4b038750b5ec17d1a337b1 Mon Sep 17 00:00:00 2001 From: Shankar Easwaran Date: Sat, 26 Oct 2013 19:38:37 +0000 Subject: [PATCH] [X86_64] Fix the atom that need to be exported. llvm-svn: 193481 --- lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp | 3 ++- lld/test/elf/undef-from-main-dso.test | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp b/lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp index 730728813238..a06b48746ba7 100644 --- a/lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp +++ b/lld/lib/ReaderWriter/ELF/X86_64/X86_64RelocationPass.cpp @@ -379,7 +379,8 @@ public: return obj->second; auto oa = new (_file._alloc) ObjectAtom(_file); - oa->addReference(R_X86_64_COPY, 0, a, 0); + // This needs to point to the atom that we just created. + oa->addReference(R_X86_64_COPY, 0, oa, 0); oa->_name = a->name(); oa->_size = a->size(); diff --git a/lld/test/elf/undef-from-main-dso.test b/lld/test/elf/undef-from-main-dso.test index 1a282517bfa9..3a3a47ff0d8e 100644 --- a/lld/test/elf/undef-from-main-dso.test +++ b/lld/test/elf/undef-from-main-dso.test @@ -19,7 +19,7 @@ RUN: llvm-readobj -relocations -symbols %t | FileCheck %s CHECK: Relocations [ CHECK-NEXT: Section ({{[0-9]+}}) .rela.dyn { -CHECK-NEXT: 0x{{[1-9A-F][0-9A-F]*}} R_X86_64_COPY x 0x0 +CHECK-NEXT: 0x{{[1-9A-F][0-9A-F]*}} R_X86_64_COPY - 0x0 CHECK-NEXT: } CHECK-NEXT: ]