From b16100ad5c5151bd4d2c5ffa8e45ac91e010d30c Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 9 Aug 2002 04:42:44 +0000 Subject: [PATCH] 2002-08-08 H.J. Lu * ld-elfvers/vers.exp: Add vers22. * ld-elfvers/vers22.c: New. * ld-elfvers/vers22.dsym: New. * ld-elfvers/vers22.map: New. * ld-elfvers/vers22.ver: New. * ld-elfvers/vers22a.c: New. * ld-elfvers/vers22a.dsym: New. * ld-elfvers/vers22a.sym: New. * ld-elfvers/vers22a.ver: New. * ld-elfvers/vers22b.c: New. * ld-elfvers/vers22b.dsym: New. * ld-elfvers/vers22b.ver: New. --- ld/testsuite/ChangeLog | 16 ++++++++++++++++ ld/testsuite/ld-elfvers/vers.exp | 5 +++++ ld/testsuite/ld-elfvers/vers22.c | 7 +++++++ ld/testsuite/ld-elfvers/vers22.dsym | 1 + ld/testsuite/ld-elfvers/vers22.map | 4 ++++ ld/testsuite/ld-elfvers/vers22.ver | 4 ++++ ld/testsuite/ld-elfvers/vers22a.c | 6 ++++++ ld/testsuite/ld-elfvers/vers22a.dsym | 2 ++ ld/testsuite/ld-elfvers/vers22a.sym | 1 + ld/testsuite/ld-elfvers/vers22a.ver | 4 ++++ ld/testsuite/ld-elfvers/vers22b.c | 4 ++++ ld/testsuite/ld-elfvers/vers22b.dsym | 2 ++ ld/testsuite/ld-elfvers/vers22b.ver | 4 ++++ 13 files changed, 60 insertions(+) create mode 100644 ld/testsuite/ld-elfvers/vers22.c create mode 100644 ld/testsuite/ld-elfvers/vers22.dsym create mode 100644 ld/testsuite/ld-elfvers/vers22.map create mode 100644 ld/testsuite/ld-elfvers/vers22.ver create mode 100644 ld/testsuite/ld-elfvers/vers22a.c create mode 100644 ld/testsuite/ld-elfvers/vers22a.dsym create mode 100644 ld/testsuite/ld-elfvers/vers22a.sym create mode 100644 ld/testsuite/ld-elfvers/vers22a.ver create mode 100644 ld/testsuite/ld-elfvers/vers22b.c create mode 100644 ld/testsuite/ld-elfvers/vers22b.dsym create mode 100644 ld/testsuite/ld-elfvers/vers22b.ver diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 0c2e3b9089..22631e2b71 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,19 @@ +2002-08-08 H.J. Lu + + * ld-elfvers/vers.exp: Add vers22. + + * ld-elfvers/vers22.c: New. + * ld-elfvers/vers22.dsym: New. + * ld-elfvers/vers22.map: New. + * ld-elfvers/vers22.ver: New. + * ld-elfvers/vers22a.c: New. + * ld-elfvers/vers22a.dsym: New. + * ld-elfvers/vers22a.sym: New. + * ld-elfvers/vers22a.ver: New. + * ld-elfvers/vers22b.c: New. + * ld-elfvers/vers22b.dsym: New. + * ld-elfvers/vers22b.ver: New. + 2002-08-07 H.J. Lu * ld-elfvers/vers.exp: Add --no-undefined-version. diff --git a/ld/testsuite/ld-elfvers/vers.exp b/ld/testsuite/ld-elfvers/vers.exp index 738072926c..7eb3f2a3a8 100644 --- a/ld/testsuite/ld-elfvers/vers.exp +++ b/ld/testsuite/ld-elfvers/vers.exp @@ -826,3 +826,8 @@ build_vers_lib "vers20" vers20.c vers20 "vers20a.so vers20b.so" vers20.map vers2 # Test .symver override. build_vers_lib "vers21" vers21.c vers21 "" vers21.map vers21.ver vers21.dsym vers21.sym + +# Test moving default definition from one DSO to another. +build_vers_lib "vers22a" vers22a.c vers22a "" vers22.map vers22a.ver vers22a.dsym vers22a.sym +build_vers_lib "vers22b" vers22b.c vers22b "" vers22.map vers22b.ver vers22b.dsym "" +build_vers_lib "vers22" vers22.c vers22 "vers22a.so vers22b.so" "" vers22.ver vers22.dsym "" diff --git a/ld/testsuite/ld-elfvers/vers22.c b/ld/testsuite/ld-elfvers/vers22.c new file mode 100644 index 0000000000..a04695b8ee --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22.c @@ -0,0 +1,7 @@ +extern void bar (); + +void +foo () +{ + bar (); +} diff --git a/ld/testsuite/ld-elfvers/vers22.dsym b/ld/testsuite/ld-elfvers/vers22.dsym new file mode 100644 index 0000000000..3c01dd3fce --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22.dsym @@ -0,0 +1 @@ +[0-9a-f]* DF \*UND\* [0-9a-f]* VERS.0 (0x[0-9a-f][0-9a-f])?bar diff --git a/ld/testsuite/ld-elfvers/vers22.map b/ld/testsuite/ld-elfvers/vers22.map new file mode 100644 index 0000000000..9a03b0b9d8 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22.map @@ -0,0 +1,4 @@ +VERS.0 { + global: + bar; +}; diff --git a/ld/testsuite/ld-elfvers/vers22.ver b/ld/testsuite/ld-elfvers/vers22.ver new file mode 100644 index 0000000000..05afce77a1 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22.ver @@ -0,0 +1,4 @@ +Version References: + required from tmpdir/vers22b.so: + 0x05aa7610 0x00 02 VERS.0 + diff --git a/ld/testsuite/ld-elfvers/vers22a.c b/ld/testsuite/ld-elfvers/vers22a.c new file mode 100644 index 0000000000..288c82093e --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22a.c @@ -0,0 +1,6 @@ +__asm__(".symver _old_bar,bar@VERS.0"); + +void +_old_bar () +{ +} diff --git a/ld/testsuite/ld-elfvers/vers22a.dsym b/ld/testsuite/ld-elfvers/vers22a.dsym new file mode 100644 index 0000000000..b710e715ff --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22a.dsym @@ -0,0 +1,2 @@ +[0]*[ ]+g[ ]+DO[ ]+\*ABS\*[ ]+[0]*[ ]+VERS.0[ ]+VERS.0 +[0-9a-f]*[ ]+g[ ]+DF[ ]+.text[ ]+[0-9a-f]*[ ]+\(VERS.0\)[ ]+(0x[0-9a-f]*|)[ ]*bar diff --git a/ld/testsuite/ld-elfvers/vers22a.sym b/ld/testsuite/ld-elfvers/vers22a.sym new file mode 100644 index 0000000000..39fd10a64b --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22a.sym @@ -0,0 +1 @@ +[0-9a-f]*[ ]+g[ ]+F[ ]+.text[ ]+[0-9a-f]* (0x[0-9a-f][0-9a-f] )?bar@VERS.0 diff --git a/ld/testsuite/ld-elfvers/vers22a.ver b/ld/testsuite/ld-elfvers/vers22a.ver new file mode 100644 index 0000000000..bb4d3bf0c9 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22a.ver @@ -0,0 +1,4 @@ +Version definitions: +1 0x01 0x0660090f vers22a.so +2 0x00 0x05aa7610 VERS.0 + diff --git a/ld/testsuite/ld-elfvers/vers22b.c b/ld/testsuite/ld-elfvers/vers22b.c new file mode 100644 index 0000000000..9e559cc89e --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22b.c @@ -0,0 +1,4 @@ +void +bar () +{ +} diff --git a/ld/testsuite/ld-elfvers/vers22b.dsym b/ld/testsuite/ld-elfvers/vers22b.dsym new file mode 100644 index 0000000000..25d78fa232 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22b.dsym @@ -0,0 +1,2 @@ +[0]*[ ]+g[ ]+DO[ ]+\*ABS\*[ ]+[0]*[ ]+VERS.0[ ]+VERS.0 +[0-9a-f]*[ ]+g[ ]+DF[ ]+.text[ ]+[0-9a-f]*[ ]+VERS.0[ ]+(0x[0-9a-f]*|)[ ]*bar diff --git a/ld/testsuite/ld-elfvers/vers22b.ver b/ld/testsuite/ld-elfvers/vers22b.ver new file mode 100644 index 0000000000..b1c834b4f8 --- /dev/null +++ b/ld/testsuite/ld-elfvers/vers22b.ver @@ -0,0 +1,4 @@ +Version definitions: +1 0x01 0x065f990f vers22b.so +2 0x00 0x05aa7610 VERS.0 +