musl - musl - an implementation of the standard library for Linux-based systems

index : musl
musl - an implementation of the standard library for Linux-based systems
summary refs log tree commit diff
path: root/src/linux/sbrk.c
AgeCommit message (Collapse)AuthorLines
2018年09月12日fix issues from public functions defined without declaration visible Rich Felker-0/+2
policy is that all public functions which have a public declaration should be defined in a context where that public declaration is visible, to avoid preventable type mismatches. an audit performed using GCC's -Wmissing-declarations turned up the violations corrected here. in some cases the public header had not been included; in others, a feature test macro needed to make the declaration visible had been omitted. in the case of gethostent and getnetent, the omission seems to have been intentional, as a hack to admit a single stub definition for both functions. this kind of hack is no longer acceptable; it's UB and would not fly with LTO or advanced toolchains. the hack is undone to make exposure of the declarations possible.
2014年01月02日disable sbrk for all values of increment except 0 Rich Felker-3/+3
use of sbrk is never safe; it conflicts with malloc, and malloc may be used internally by the implementation basically anywhere. prior to this change, applications attempting to use sbrk to do their own heap management simply caused untrackable memory corruption; now, they will fail with ENOMEM allowing the errors to be fixed. sbrk(0) is still permitted as a way to get the current brk; some misguided applications use this as a measurement of their memory usage or for other related purposes, and such usage is harmless. eventually sbrk may be re-added if/when malloc is changed to avoid using the brk by using mmap for all allocations.
2011年09月26日cleanup various minor issues reported by nsz Rich Felker-2/+2
the changes to syscall_ret are mostly no-ops in the generated code, just cleanup of type issues and removal of some implementation-defined behavior. the one exception is the change in the comparison value, which is fixed so that 0xf...f000 (which in principle could be a valid return value for mmap, although probably never in reality) is not treated as an error return.
2011年05月22日fix brk/sbrk behavior to match the real legacy functions Rich Felker-1/+3
2011年03月20日global cleanup to use the new syscall interface Rich Felker-1/+1
2011年02月12日initial check-in, version 0.5.0 v0.5.0 Rich Felker-0/+7
generated by cgit v1.2.1 (git 2.18.0) at 2025年09月08日 21:48:47 +0000

AltStyle によって変換されたページ (->オリジナル) /