alpha.exp 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # Expect script for ld-alpha tests
  2. # Copyright (C) 2003-2022 Free Software Foundation, Inc.
  3. #
  4. # This file is part of the GNU Binutils.
  5. #
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 3 of the License, or
  9. # (at your option) any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. # GNU General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
  19. # MA 02110-1301, USA.
  20. #
  21. # Test Alpha ELF linking; all types of relocs. This tests the
  22. # assembler and tools like objdump as well as the linker.
  23. if { !([istarget alpha*-*-elf*]
  24. || ([istarget alpha*-*-linux*] && ![istarget *ecoff])) } {
  25. return
  26. }
  27. # List contains test-items with 3 items followed by 2 lists:
  28. # 0:name 1:ld early options 2:ld late options 3:assembler options
  29. # 4:filenames of assembler files 5: action and options. 6: name of output file
  30. # Actions:
  31. # objdump: Apply objdump options on result. Compare with regex (last arg).
  32. # nm: Apply nm options on result. Compare with regex (last arg).
  33. # readelf: Apply readelf options on result. Compare with regex (last arg).
  34. set alphatests {
  35. {"TLS -fpic -shared" "-shared -melf64alpha --hash-style=sysv" ""
  36. "" {align.s tlspic1.s tlspic2.s}
  37. {{readelf -WSsrl tlspic.rd} {objdump -drj.text tlspic.dd}
  38. {objdump -sj.got tlspic.sd} {objdump -sj.tdata tlspic.td}}
  39. "libtlspic.so"}
  40. {"Helper shared library" "-shared -melf64alpha" ""
  41. "" {tlslib.s} {} "libtlslib.so"}
  42. {"TLS -fpic and -fno-pic exec"
  43. "-melf64alpha tmpdir/libtlslib.so --hash-style=sysv" ""
  44. "" {align.s tlsbinpic.s tlsbin.s}
  45. {{readelf -WSsrl tlsbin.rd} {objdump -drj.text tlsbin.dd}
  46. {objdump -sj.got tlsbin.sd} {objdump -sj.tdata tlsbin.td}}
  47. "tlsbin"}
  48. {"TLS -fpic and -fno-pic exec -relax"
  49. "-relax -melf64alpha --hash-style=sysv tmpdir/libtlslib.so" ""
  50. "" {align.s tlsbinpic.s tlsbin.s}
  51. {{readelf -WSsrl tlsbinr.rd} {objdump -drj.text tlsbinr.dd}
  52. {objdump -sj.got tlsbinr.sd}}
  53. "tlsbinr"}
  54. {"empty got"
  55. "-melf64alpha" "" ""
  56. {emptygot.s}
  57. {{nm "-n" emptygot.nm}}
  58. "emptygot"}
  59. }
  60. # Not implemented yet
  61. # {"TLS in debug sections" "-melf64alpha" ""
  62. # "" {tlsg.s}
  63. # {{objdump -sj.debug_foobar tlsg.sd}} "tlsg"}
  64. run_ld_link_tests $alphatests