[all-commits] [llvm/llvm-project] e5a743: Add implementations of POSIX mmap and munmap funct...

Siva Chandra via All-commits all-commits at lists.llvm.org
Mon Dec 23 14:07:12 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: e5a743c4f6e3639ba3bee778c894a996ef96391a
      https://github.com/llvm/llvm-project/commit/e5a743c4f6e3639ba3bee778c894a996ef96391a
  Author: Siva Chandra Reddy <sivachandra at google.com>
  Date:   2019-12-23 (Mon, 23 Dec 2019)

  Changed paths:
    M libc/CMakeLists.txt
    M libc/cmake/modules/LLVMLibCRules.cmake
    A libc/config/CMakeLists.txt
    A libc/config/linux/CMakeLists.txt
    M libc/config/linux/api.td
    A libc/config/linux/platfrom_defs.h.inc
    A libc/config/linux/syscall_numbers.h.inc
    A libc/config/linux/x86_64/CMakeLists.txt
    A libc/config/linux/x86_64/syscall.h.inc
    A libc/config/linux/x86_64/syscall_test.cpp
    M libc/include/CMakeLists.txt
    A libc/include/__posix-types.h
    A libc/include/sys/mman.h.def
    A libc/include/sys/syscall.h.def
    M libc/lib/CMakeLists.txt
    M libc/spec/linux.td
    M libc/spec/posix.td
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/src/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/common.h.def
    R libc/src/__support/linux/entrypoint_macro.h.inc
    A libc/src/sys/CMakeLists.txt
    A libc/src/sys/mman/CMakeLists.txt
    A libc/src/sys/mman/mmap.cpp
    A libc/src/sys/mman/mmap.h
    A libc/src/sys/mman/mmap_test.cpp
    A libc/src/sys/mman/munmap.cpp
    A libc/src/sys/mman/munmap.h
    A libc/src/unistd/CMakeLists.txt
    A libc/src/unistd/syscall.h.def

  Log Message:
  -----------
  Add implementations of POSIX mmap and munmap functions.

Summary:
A set of of linux x86_64 internal syscall helpers have also been added.

This change does not try to be perfect with respect to OS and machine
abstractions. A TODO note has been added at places where such abstractions
would help and make the arrangement scalable and cleaner. Addressing the
TODOs and building such abstractions is not in the scope of this change.
It is hoped that follow up changes cleaning up the problem areas and
addressing the TODOs will better illustrate the need for the changes.

This change also does not try to imitate mmap and munmap implementations
of other libcs. The idea here is to put in the bare minimum required to
obtain a working mmap and munmap, and then add the rest of the
functionality on an as needed basis.

Reviewers: abrachet, phosek, stanshebs, theraven

Subscribers: mgorny, MaskRay, jfb, libc-commits

Tags: #libc-project

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




More information about the All-commits mailing list