# REQUIRES: x86
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o
# RUN: echo "foo = 0x22;" > %t.script
## This testcase checks that we apply -defsym and linker script
## in the same order are they specified in a command line.
## Check that linker script can override -defsym assignments.
# RUN: ld.lld %t.o -defsym=foo=0x11 -script %t.script -o %t
# RUN: llvm-readobj --symbols %t | FileCheck %s
# CHECK: Name: foo
# CHECK-NEXT: Value: 0x22
## Check that -defsym can override linker script. Check that multiple
## -defsym commands for the same symbol are allowed.
# RUN: ld.lld %t.o -script %t.script -defsym=foo=0x11 -defsym=foo=0x33 -o %t
# RUN: llvm-readobj --symbols %t | FileCheck %s --check-prefix=REORDER
# REORDER: Name: foo
# REORDER-NEXT: Value: 0x33