History log of /dflybsd-src/lib/libc/stdlib/Symbol.map (Results 1 – 22 of 22)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.4.0, v6.4.0rc1, v6.5.0
# d780b39f 05-Jun-2022 Antonio Huete Jimenez <tuxillo@quantumachine.net>

libc: Add malloc_usable_size(3) support.

Submitted-by: @dillon


Revision tags: v6.2.2, v6.2.1, v6.3.0
# 7307c476 23-Dec-2021 Sascha Wildner <saw@online.de>

libc: Add a clearenv() function.

Seems useful for dports, as pointed out by zrj.

Taken-from: FreeBSD


Revision tags: v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3
# 4beeb8ba 13-Nov-2019 Sascha Wildner <saw@online.de>

libc: Remove _nmalloc_thr_init from Symbol.map again.

My fault, it is now internal only.

Pointed-out-by: dillon


# 1a43169d 12-Nov-2019 Sascha Wildner <saw@online.de>

libc: Fix up two Symbol.map's a bit.

* Keep _nmalloc_thr_init, it didn't go away.

* Put _libc_thr_init into DF508.0.

* Reindent like everywhere else.


# 721505de 12-Nov-2019 Matthew Dillon <dillon@apollo.backplane.com>

libc - Implement sigblockall() and sigunblockall()

* Signal safety is becoming a defacto requirement for most of libc and
pthreads. In particular, the memory allocator. Given the chances of
te

libc - Implement sigblockall() and sigunblockall()

* Signal safety is becoming a defacto requirement for most of libc and
pthreads. In particular, the memory allocator. Given the chances of
teaching tens of thousands of programmers about signal safety, and
just making it work in libc and pthreads, only one of these two
possibilities is actually realizable.

In particular, high-level languages have become so complex, and some
applications (chrome, firefox, etc) have become so complex, that the
code is regularly tripping over signal safety issues.

However, implementing signal safety with current mechanisms is extremely
expensive due to the need for multiple system calls. To whit,
DragonFlyBSD now has a mechanism that does not require system calls
in the critical path.

* Implement sigblockall() and sigunblockall(). These functions
leverage the new /dev/lpmap per-thread shared page mechanism
to provide a way to temporary block the dispatch of all maskable
signals without having to make any system calls.

These are extremely fast routines.

- Reentrant / Recursable

- Temporarily blocks any dispatch of a maskable asynchronous signal
to the calling thread. Other threads are not affected... this is
a per-thread mechanism.

- The last sigunblockall() will immediately dispatch any blocked
signals.

- The normal signal mask is not affected by these routines.

- Does not block signals caused by synchronous traps.

- The current recursion count is retained on [v]fork() to ease
coding and to also allow signals to be temporarily blocked across a
fork until the child process is ready to deal with them, if desired.

* Implement signal safety for most of pthreads. All temporary internal
mutexes are now wrapped with sigblockall() and sigunblockall().

* Implement signal safety for the malloc subsystem. All functions
are wrawpped with sigblockall() and sigunblockall().

These implementations make lang/mono and lang/rust far more reliable
than they were before. Where 9 out of 10 builds used to fail, now
they succeed.

show more ...


# 086b156c 09-Sep-2019 Sascha Wildner <saw@online.de>

libc: Add gets_s(3) from ISO/IEC TR 24731-1.

For more information see the Technical Report (drafts of it are on
the web) or e.g. http://en.cppreference.com/w/c/io/gets.

This also adds set_constrain

libc: Add gets_s(3) from ISO/IEC TR 24731-1.

For more information see the Technical Report (drafts of it are on
the web) or e.g. http://en.cppreference.com/w/c/io/gets.

This also adds set_constraint_handler_s(), abort_handler_s(),
ignore_handler_s(), the RSIZE_MAX define, and the types rsize_t,
errno_t and constraint_handler_t.

Visibility is restricted to our default environment by default, but
can be enabled by defining __STDC_WANT_LIB_EXT1__ to 1, per the TR.

While here, put gets()'s documentation into a manual page of its own
with a note that it is depracated. We'll likely remove it from libc
too at a later point in time.

Requested-by: zrj
Taken-from: FreeBSD (with some adjustments)

show more ...


Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3
# d60b58c8 04-May-2019 Sascha Wildner <saw@online.de>

libc: Add posix_fadvise(), for now empty except for some error checking.

This should help some dports.

From POSIX' point of view this is sufficient because it is not
required that the implementatio

libc: Add posix_fadvise(), for now empty except for some error checking.

This should help some dports.

From POSIX' point of view this is sufficient because it is not
required that the implementation does anything with the passed
information.

The manual page was taken from FreeBSD.

show more ...


Revision tags: v5.4.2
# 64c3fdb4 09-Apr-2019 zrj <rimvydas.jasinskas@gmail.com>

libc/stdlib: Add recallocarray() function.

It is useful function for security related features, like resizing
memory objects containing sensitive data to avoid information leaking.
Update manpage.

libc/stdlib: Add recallocarray() function.

It is useful function for security related features, like resizing
memory objects containing sensitive data to avoid information leaking.
Update manpage.

Taken-from: OpenBSD

show more ...


# 78297c9b 09-Apr-2019 zrj <rimvydas.jasinskas@gmail.com>

libc/stdlib: Add freezero() function.

It is useful function for security related features. Internally uses
explicit_bzero(3) before freeing the pointers. It could be implemented
in nmalloc.c for ext

libc/stdlib: Add freezero() function.

It is useful function for security related features. Internally uses
explicit_bzero(3) before freeing the pointers. It could be implemented
in nmalloc.c for extra benefits.
Update the manpage.

Taken-from: OpenBSD

show more ...


# d3a54aee 03-Apr-2019 zrj <rimvydas.jasinskas@gmail.com>

libc/stdlib: Refactor aligned_alloc().

* Lift the restriction from posix_memalign() that alignment should be
more or equal to sizeof(void *).
* Make aligned_alloc() a weak symbol.
* Adjust

libc/stdlib: Refactor aligned_alloc().

* Lift the restriction from posix_memalign() that alignment should be
more or equal to sizeof(void *).
* Make aligned_alloc() a weak symbol.
* Adjust the manpage.

show more ...


# 284b4eb2 01-Apr-2019 zrj <rimvydas.jasinskas@gmail.com>

libc/stdlib: Add __cxa_thread_atexit_impl() hook.

The __cxa_thread_atexit_impl() helper is needed for mainly c++ runtime
libraries to support destructors for thread local storage using LIFO.
The _th

libc/stdlib: Add __cxa_thread_atexit_impl() hook.

The __cxa_thread_atexit_impl() helper is needed for mainly c++ runtime
libraries to support destructors for thread local storage using LIFO.
The _thread_finalize() is implemented based on OpenBSD variant with few
exceptions: less restrictive destructors calling scheme and c++ runtime
preserves implementation details how it orders (or even uses) this libc
addition. Based on other BSDs and libsdc++/libc++ code this is least
intrusive method to have pthread_exit() hooks in libc runtime. By the
looks, in base system nothing was using libstdc++ internal version.

While there, enable __cxa_thread_atexit_impl() usage in gcc80 libstdc++.

show more ...


# 66932323 12-Jan-2019 Sascha Wildner <saw@online.de>

libc: Add reallocarray() from OpenBSD.

It is useful for dhcpcd, mandoc and libssh. Also some dports might pick
it up. A few other dports have workarounds which, once reallocarray() is
in release too

libc: Add reallocarray() from OpenBSD.

It is useful for dhcpcd, mandoc and libssh. Also some dports might pick
it up. A few other dports have workarounds which, once reallocarray() is
in release too, can be removed.

Taken-from: OpenBSD (manual page from FreeBSD)
Pointed-out-by: aly

show more ...


Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1
# e6975a4e 05-May-2018 Sascha Wildner <saw@online.de>

libc: Add strsuftoll{,x}()

In preparation for makefs(8).

Various dports (such as ftp/tnftpd) will also pick it up.

Taken-from: NetBSD
Dports-testing: zrj


Revision tags: v5.2.0, v5.3.0, v5.2.0rc, v5.0.2
# e2caf0e7 08-Nov-2017 Matthew Dillon <dillon@apollo.backplane.com>

libc and pthreads - Fix atfork issues with nmalloc, update dmalloc

* Implement atfork handling for nmalloc. As part of this, refactor
some of nmalloc.

* Remove ZERO_LENGTH_PTR from nmalloc. Ins

libc and pthreads - Fix atfork issues with nmalloc, update dmalloc

* Implement atfork handling for nmalloc. As part of this, refactor
some of nmalloc.

* Remove ZERO_LENGTH_PTR from nmalloc. Instead, force 0-byte
allocations to allocate 1 byte. The standard requires unique
pointers to be returned.

* For now go back to a single depot lock instead of a per-zone
lock. It is unclear whether multi-threaded performance will
suffer or not, but its the only way to implement atfork handling.

* Implement proper atfork interlocks for nmalloc via pthreads to avoid
corruption when heavily threaded programs call fork().

* Bring dmalloc up to date in various ways, including properly
implementing a minimum 16-byte alignment for allocations >= 16 bytes,
and atfork handling. Also use a global depot lock for the same
reason we use it in nmalloc, and implement a front-end magazine
shortcut for any allocations <= 2MB.

Reported-by: mneumann

show more ...


Revision tags: v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1
# 69baab3b 09-Jul-2017 Imre Vadász <imre@vdsz.com>

Define __* symbols for the malloc(3) functions to make wrapping easier.

This should match what FreeBSD and other systems do. Where the __* variants
always refer to the libc function, but the actual

Define __* symbols for the malloc(3) functions to make wrapping easier.

This should match what FreeBSD and other systems do. Where the __* variants
always refer to the libc function, but the actual malloc(), free() etc.
symbols can be overrided by a malloc wrapper.

show more ...


Revision tags: v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc
# d66febeb 08-Sep-2015 John Marino <draco@marino.st>

libc symbols bound to rtld must have matching version numbers

Reset the version of symbols bound to rtld back to DF306.0 version.
While here, remove definition for __progname and environ which canno

libc symbols bound to rtld must have matching version numbers

Reset the version of symbols bound to rtld back to DF306.0 version.
While here, remove definition for __progname and environ which cannot
be versioned.

show more ...


# c87aec90 06-Sep-2015 John Marino <draco@marino.st>

Fix libc symbol maps after build test

The following modifications (typos, bugs, missing symbols,
extra symbols) allows buildworld to complete with libc versioning
turned on (a first). After perform

Fix libc symbol maps after build test

The following modifications (typos, bugs, missing symbols,
extra symbols) allows buildworld to complete with libc versioning
turned on (a first). After performance verification via dports
bulk build, the versioning will be activated.

show more ...


# b3a01159 05-Sep-2015 John Marino <draco@marino.st>

More libc Symbol map refinements (nearing completion now)


# f5331ec2 02-Sep-2015 John Marino <draco@marino.st>

Update some more symbols maps for libc

This continues the work towards versioning libc. I found that a wchar
function, open_wmemstream(), had a prototype but was not implemented on
DragonFly (but i

Update some more symbols maps for libc

This continues the work towards versioning libc. I found that a wchar
function, open_wmemstream(), had a prototype but was not implemented on
DragonFly (but it is on FreeBSD) so I filtered it out with #if 0 block.

show more ...


Revision tags: v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2
# f081f25c 02-Dec-2014 John Marino <draco@marino.st>

libc versioning: Add missing symbols, put rest in DFprivate_1_0

This builds, like the previous attempt, but all executables that pull in
libc segfault when errno is accessed, so libc versioning is n

libc versioning: Add missing symbols, put rest in DFprivate_1_0

This builds, like the previous attempt, but all executables that pull in
libc segfault when errno is accessed, so libc versioning is not working.

show more ...


# 6063a561 01-Dec-2014 John Marino <draco@marino.st>

libc version maps: Update inactive symbol maps

This is a work in progress, but it is encouraging that a full buildworld
completed with a versioned libc. This will not be activated until it is
verif

libc version maps: Update inactive symbol maps

This is a work in progress, but it is encouraging that a full buildworld
completed with a versioned libc. This will not be activated until it is
verified with a complete bulk run of packages.

show more ...


Revision tags: v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.4.3
# df5c926f 16-Jun-2013 John Marino <draco@marino.st>

libc: Add symbol versions (not active)