mirror of
https://github.com/intel/llvm.git
synced 2026-02-06 23:31:50 +08:00
Summary: We were crashing when linking telnetd in FreeBSD because lld was emitting corrupted output files for --norosegment. In this file the version index of some symbols was set to 9 but lld only found 8 version definitions. I am not sure how to create a minimal .so file that also exposes this behaviour so I just added the one that initially caused the error to Inputs/ This partially addresses https://bugs.llvm.org/show_bug.cgi?id=34705 Reviewers: ruiu, rafael, pcc, grimar Reviewed By: ruiu Subscribers: emaste, krytarowski Tags: #lld Differential Revision: https://reviews.llvm.org/D38397 llvm-svn: 315035
11 lines
420 B
ArmAsm
11 lines
420 B
ArmAsm
# RUN: llvm-mc -triple=mips64-unknown-freebsd %s -filetype=obj -o %t.o
|
|
# RUN: not ld.lld %t.o %S/Inputs/corrupt-version-reference.so -o %t.exe 2>&1 | FileCheck %s
|
|
|
|
# CHECK: error: corrupt input file: version definition index 9 for symbol __cxa_finalize is greater than the maximum value 8
|
|
# CHECK: >>> symbol is defined in {{.+}}/corrupt-version-reference.so
|
|
|
|
.globl __start
|
|
__start:
|
|
dla $a0, __cxa_finalize
|
|
nop
|