[PATCH] D116857: [libunwind] [sparc] Add SPARCv9 support

Sam James via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 27 16:49:18 PST 2022


thesamesam added a comment.

Thanks for doing the work on this and @kettenis for working on it originally too. I'd love to see this landed.

I've tested this on sparc64 on Gentoo and it doesn't seem to build for me right now at commit bddc814b442ae9f30d62e2f881274d6255411225 <https://reviews.llvm.org/rGbddc814b442ae9f30d62e2f881274d6255411225>.

I've attached the build log: F21884859: build.log <https://reviews.llvm.org/F21884859>

The failure looks like:

  FAILED: src/CMakeFiles/unwind_shared.dir/UnwindRegistersSave.S.o
  /usr/bin/sparc64-unknown-linux-gnu-gcc -Dunwind_shared_EXPORTS -I/var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/include  -O2 -mcpu=ultrasparc -pipe -fPIC -Werror=return-type -W -Wall -W
  char-subscripts -Wconversion -Wmismatched-tags -Wmissing-braces -Wno-unused-function -Wshadow -Wsign-compare -Wsign-conversion -Wstrict-aliasing=2 -Wstrict-overflow=4 -Wunused-parameter -Wunused-variable -W
  write-strings -Wundef -Wno-suggest-override -Wno-error -pedantic -funwind-tables -nostdinc++ -DNDEBUG -fno-rtti -MD -MT src/CMakeFiles/unwind_shared.dir/UnwindRegistersSave.S.o -MF src/CMakeFiles/unwind_sha
  red.dir/UnwindRegistersSave.S.o.d -o src/CMakeFiles/unwind_shared.dir/UnwindRegistersSave.S.o -c /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1010:43: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 [-Wpedantic]
   1010 | DEFINE_LIBUNWIND_FUNCTION(__unw_getcontext)
        |                                           ^
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1010:43: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 [-Wpedantic]
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1010:43: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 [-Wpedantic]
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1010:43: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 [-Wpedantic]
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1167:46: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 [-Wpedantic]
   1167 |   WEAK_ALIAS(__unw_getcontext, unw_getcontext)
        |                                              ^
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1167:46: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 [-Wpedantic]
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1167:46: warning: invoking macro GLUE2 argument 1: empty macro arguments are undefined in ISO C90 [-Wpedantic]
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S: Assembler messages:
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1012: Error: detected global register use not covered by .register pseudo-op
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1012: Error: detected global register use not covered by .register pseudo-op
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1012: Error: detected global register use not covered by .register pseudo-op
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1013: Error: detected global register use not covered by .register pseudo-op
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1013: Error: detected global register use not covered by .register pseudo-op
  /var/tmp/portage/sys-libs/llvm-libunwind-14.0.0.9999/work/libunwind/src/UnwindRegistersSave.S:1013: Error: detected global register use not covered by .register pseudo-op

(I did try on 13.0.0 too but that was just out of interest and it applied with a bunch of fuzz and ended up getting a dodgy double-case error).

Let me know if I can give any other information.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D116857/new/

https://reviews.llvm.org/D116857



More information about the llvm-commits mailing list