[all-commits] [llvm/llvm-project] d66983: [libc] Add exit and atexit

Alex Brachet via All-commits all-commits at lists.llvm.org
Thu Feb 17 09:23:59 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d66983861a66b1eb9ff6d08b57a9cdd8e2a35932
      https://github.com/llvm/llvm-project/commit/d66983861a66b1eb9ff6d08b57a9cdd8e2a35932
  Author: Alex Brachet <abrachet at google.com>
  Date:   2022-02-17 (Thu, 17 Feb 2022)

  Changed paths:
    M libc/config/linux/api.td
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/__atexithandler_t.h
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/atexit.cpp
    A libc/src/stdlib/atexit.h
    A libc/src/stdlib/exit.cpp
    A libc/src/stdlib/exit.h
    M libc/test/src/stdlib/CMakeLists.txt
    M libc/test/src/stdlib/_Exit_test.cpp
    A libc/test/src/stdlib/atexit_test.cpp

  Log Message:
  -----------
  [libc] Add exit and atexit

Often atexit is implemented using __cxa_atexit. I have not implemented __cxa_atexit here because it potentially requires more discussion. It is unique for llvm-libc (I think) that it is an exported symbol that wouldn’t be defined in any spec file because it doesn’t have a header. Implementing it will be trivial given what is here already, but I figured it would be more contentious so it can be implemented later.

Reviewed By: lntue

Differential Revision: https://reviews.llvm.org/D119512




More information about the All-commits mailing list