elfedit: Add --enable-x86-feature/--disable-x86-feature
[deliverable/binutils-gdb.git] / ld / testsuite / ld-elf / linux-x86.exp
index f6f5a80853f662f5db51a184e3e28cbd324d90f4..a8e82eb9cc39c20e66decb5b5d7dfcc036a7742c 100644 (file)
@@ -44,3 +44,49 @@ run_ld_link_exec_tests [list \
        "asm" \
     ] \
 ]
+
+run_ld_link_tests [list \
+    [list \
+       "Build x86-feature-1" \
+       "-z separate-code -z shstk" \
+       "" \
+       "-mx86-used-note=yes" \
+       { start.s } \
+       {{readelf -n x86-feature-1a.rd}} \
+       "x86-feature-1" \
+    ] \
+]
+
+proc elfedit_test { options test output } {
+    global ELFEDIT
+    global READELF
+    global srcdir
+    global subdir
+
+    set test_name "elfedit $options"
+    send_log "$ELFEDIT $options tmpdir/$test\n"
+    set got [remote_exec host "$ELFEDIT $options tmpdir/$test" "" "/dev/null"]
+    if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+       send_log "$got\n"
+       unresolved "$test_name"
+    }
+    send_log "$READELF -n $options tmpdir/$test > tmpdir/$output.out\n"
+    set got [remote_exec host "$READELF -n tmpdir/$test" "" "/dev/null" "tmpdir/$output.out"]
+    if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+       send_log "$got\n"
+       unresolved "$test_name"
+}
+    if { [regexp_diff tmpdir/$output.out $srcdir/$subdir/$output.rd] } then {
+       fail "$test_name"
+    } else {
+       pass "$test_name"
+    }
+}
+
+elfedit_test "--enable-x86-feature ibt --disable-x86-feature shstk" \
+               x86-feature-1 x86-feature-1b
+elfedit_test "--enable-x86-feature ibt" x86-feature-1 x86-feature-1b
+elfedit_test "--disable-x86-feature shstk" x86-feature-1 x86-feature-1c
+elfedit_test "--disable-x86-feature ibt" x86-feature-1 x86-feature-1d
+elfedit_test "--enable-x86-feature ibt --enable-x86-feature shstk" \
+               x86-feature-1 x86-feature-1e
This page took 0.026958 seconds and 4 git commands to generate.