[libc-commits] [PATCH] D71634: Add implementations of POSIX mmap and munmap functions.

Siva Chandra via Phabricator via libc-commits libc-commits at lists.llvm.org
Tue Dec 17 15:49:01 PST 2019


sivachandra created this revision.
sivachandra added reviewers: phosek, stanshebs, theraven.
Herald added subscribers: libc-commits, jfb, MaskRay, mgorny.
Herald added a project: libc-project.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D71634

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71634.234408.patch
Type: text/x-patch
Size: 52441 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20191217/026c2a8b/attachment-0001.bin>


More information about the libc-commits mailing list