Caslyn Tonelli b8195e3a8e
[libc] Fix typo and amend restrict qualifier (#152410)
This removes an extraneous ',' in the generated dlfcn header.

This also adds `__restrict` to `dladdr`'s declaration per POSIX. Another
fix is made: the C standard `restrict` keyword is removed from
dlinfo.cpp/dlinfo.h (but note that dlfcn.yaml still annotates
`__restrict` for dlinfo's decl).
2025-08-07 16:45:14 -07:00

132 lines
2.6 KiB
YAML

header: dlfcn.h
standards:
- posix
macros:
# Note that macro values are quoted to keep the integer literals as
# written. Without the quotes, YAML will normalize them to minimal
# decimal, which is less readable for humans seeing the generated header.
- macro_name: RTLD_LAZY
macro_value: "0x00001"
- macro_name: RTLD_NOW
macro_value: "0x00002"
- macro_name: RTLD_GLOBAL
macro_value: "0x00100"
- macro_name: RTLD_LOCAL
macro_value: "0"
- macro_name: RTLD_BINDING_MASK
standards:
- gnu
macro_value: "0x00003"
- macro_name: RTLD_NOLOAD
standards:
- gnu
macro_value: "0x00004"
- macro_name: RTLD_DEEPBIND
standards:
- gnu
macro_value: "0x00008"
- macro_name: RTLD_NODELETE
standards:
- gnu
macro_value: "0x01000"
- macro_name: RTLD_NEXT
standards:
- gnu
macro_value: "((void *) -1l)"
- macro_name: RTLD_DEFAULT
standards:
- gnu
macro_value: "((void *) 0)"
enums:
- name: RTLD_DI_LMID
standards:
- gnu
value: 1
- name: RTLD_DI_LINKMAP
standards:
- gnu
value: 2
- name: RTLD_DI_CONFIGADDR
standards:
- gnu
value: 3
- name: RTLD_DI_SERINFO
standards:
- gnu
value: 4
- name: RTLD_DI_SERINFOSIZE
standards:
- gnu
value: 5
- name: RTLD_DI_ORIGIN
standards:
- gnu
value: 6
- name: RTLD_DI_PROFILENAME
standards:
- gnu
value: 7
- name: RTLD_DI_PROFILEOUT
standards:
- gnu
value: 8
- name: RTLD_DI_TLS_MODID
standards:
- gnu
value: 9
- name: RTLD_DI_TLS_DATA
standards:
- gnu
value: 10
- name: RTLD_DI_PHDR
standards:
- gnu
value: 11
- name: RTLD_DI_MAX
standards:
- gnu
value: 11
types:
- type_name: Dl_info
functions:
- name: dlclose
standards:
- POSIX
return_type: int
arguments:
- type: void *
- name: dlerror
standards:
- POSIX
return_type: char *
arguments: []
- name: dlopen
standards:
- POSIX
return_type: void *
arguments:
- type: const char *
- type: int
- name: dlsym
standards:
- POSIX
return_type: void *
arguments:
- type: void *__restrict
- type: const char *__restrict
- name: dlinfo
standards:
- gnu
return_type: int
arguments:
- type: void *__restrict
- type: int
- type: void *__restrict
- name: dladdr
standards:
- POSIX
return_type: int
arguments:
- type: const void *__restrict
- type: Dl_info *__restrict