Commit Graph

13 Commits

Author SHA1 Message Date
Thomas Preud'homme fa55c610fa Only define static locks in multithreaded mode
Newlib build system defines __SINGLE_THREAD__ to allow concurrency code
to be only compiled when newlib is configured for multithread. One such
example are locks which become useless in single thread mode. Although
most static locks are indeed guarded by !defined(__SINGLE_THREAD__),
some are not.

This commit adds these missing guards to __dd_hash_mutex,
__atexit_recursive_mutex, __at_quick_exit_mutex and __arc4random_mutex.
It also makes sure locking macros in lock.h are noop in single thread
mode.
2017-02-13 17:04:17 -05:00
Freddie Chopin 0eeb4c1d32 Unify names of all lock objects
In preparation for the patch that would allow retargeting of locking
routines, rename all lock objects to follow this pattern:

"__<name>_[recursive_]mutex".

Following locks were renamed:
__dd_hash_lock -> __dd_hash_mutex
__sfp_lock -> __sfp_recursive_mutex
__sinit_lock -> __sinit_recursive_mutex
__atexit_lock -> __atexit_recursive_mutex
_arc4random_mutex -> __arc4random_mutex
__env_lock_object -> __env_recursive_mutex
__malloc_lock_object -> __malloc_recursive_mutex
__atexit_mutex -> __at_quick_exit_mutex
__tz_lock_object -> __tz_mutex
2017-02-06 16:55:09 -05:00
Thomas Preudhomme cd1b883526 Prefix consistenly target-independent locks with __
Hi,

With the patch to allow newlib's locking routine to be retargeted currently
under discussion, we need to start thinking of locks as part of newlib's ABI
since newlib depends on specific names being provided by the OS. This patch
renames 2 locks so that they follow the same naming convention as other locks.
It needs to be applied before the retargeting patch, while locks are still an
internal consideration.

Newlib builds successfully with this change.

Ok for master branch?

Best regards,

Thomas
2017-01-25 12:36:05 +01:00
Ralf Corsepius 1acc80f5d2 2012-07-16 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/posix/telldir.c: Conditionally build dd_hash_lock.
2012-07-16 17:03:50 +00:00
Jeff Johnston fab7d5988a 2010-03-09 Jeff Johnston <jjohnstn@redhat.com>
* libc/posix/telldir.c (dd_loccnt): Change start index to be 1
        instead of 0.
        (_seekdir): A loc of 0 now means rewind dir.
2010-03-09 20:38:18 +00:00
Corinna Vinschen ff348d86cc * libc/posix/telldir.c: Remove bogus nested prototype of lseek(). 2010-02-06 10:32:20 +00:00
Jeff Johnston eeda30d7d5 2010-01-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libc/posix/telldir.c (_cleanupdir): Fixed usage of freed memory.
2010-01-11 23:24:47 +00:00
Jeff Johnston 27171a8cfa 2008-11-27 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/posix/telldir.c: Use #if !defined() instead of #ifndef
        to fix GCC warning.
2008-11-27 21:01:40 +00:00
Jeff Johnston 729d1ff9d8 2003-06-06 Jeff Johnston <jjohnstn@redhat.com>
* libc/argz/argz_add.c: Change to use _DEFUN macro for function
        definition.
        * libc/argz/argz_add_sep.c: Ditto.
        * libc/argz/argz_append.c libc/argz/argz_count.c: Ditto.
        * libc/argz/argz_create.c libc/argz/argz_create_sep.c: Ditto.
        * libc/argz/argz_delete.c libc/argz/argz_extract.c: Ditto.
        * libc/argz/argz_insert.c libc/argz/argz_next.c: Ditto.
        * libc/argz/argz_replace.c libc/argz/argz_stringify.c: Ditto.
        * libc/argz/envz_add.c libc/argz/envz_entry.c: Ditto.
        * libc/argz/envz_get.c libc/argz/envz_merge.c: Ditto.
        * libc/argz/envz_remove.c libc/argz/envz_strip.c: Ditto.
        * libc/locale/nl_langinfo.c libc/misc/ffs.c: Ditto.
        * libc/posix/closedir.c libc/posix/creat.c: Ditto.
        * libc/posix/execl.c libc/posix/execle.c: Ditto.
        * libc/posix/execlp.c libc/posix/execve.c: Ditto.
        * libc/posix/isatty.c libc/posix/opendir.c: Ditto.
        * libc/posix/popen.c libc/posix/readdir.c: Ditto.
        * libc/posix/readdir_r.c libc/posix/rewinddir.c: Ditto.
        * libc/posix/scandir.c libc/posix/seekdir.c: Ditto.
        * libc/posix/telldir.c libc/search/hcreate.c: Ditto.
        * libc/search/tdelete.c libc/search/tdestroy.c: Ditto.
        * libc/search/tfind.c libc/search/tsearch.c: Ditto.
        * libc/search/twalk.c libc/signal/signal.c: Ditto.
2003-06-06 19:57:51 +00:00
Jeff Johnston 90b65e2d06 2002-08-26 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am(LIBC_OBJECTLISTS): Add STDIO64_OBJECTLIST.
        * Makefile.in: Regenerated.
        * acinclude.m4: Add support for --enable-newlib-elix-level option.
        * aclocal.m4: Regenerated.
        * configure: Ditto.
        * configure.host: Add code to define _ELIX_LEVEL if
        --enable-newlib-elix-level option is used.
        * configure.in:
        * libc/aclocal.m4: Regenerated.
        * libc/configure: Ditto.
        * libc/argz/Makefile.am: Add EL/IX level checking.
        * libc/argz/Makefile.in: Regenerated.
        * libc/argz/dummy.c: New file.
        * libc/ctype/Makefile.am: Add EL/IX level checking.
        * libc/ctype/Makefile.in: Regenerated.
        * libc/locale/Makefile.am: Add EL/IX level checking.
        * libc/locale/Makefile.in: Regenerated.
        * libc/posix/Makefile.am: Add EL/IX level checking.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/telldir.c: Add EL/IX level checking.
        * libc/reent/Makefile.am: Ditto.
        * libc/reent/fstat64r.c: Ditto.
        * libc/reent/lseek64r.c: Ditto.
        * libc/reent/open64r.c: Ditto.
        * libc/reent/Makefile.in: Regenerated.
        * libc/search/Makefile.am: Add EL/IX level checking.
        * libc/search/Makefile.in: Regenerated.
        * libc/stdio/Makefile.am: Add EL/IX level checking.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio64/Makefile.am: Add EL/IX level checking.
        * libc/stdio64/Makefile.in: Regenerated.
        * libc/stdio64/dummy.c: New file.
        * libc/stdio64/fgetpos64.c: Fix so _LARGEFILE_64 macro is checked
        after first include.
        * libc/stdio64/fopen64.c: Ditto.
        * libc/stdio64/freopen64.c: Ditto.
        * libc/stdio64/fseeko64.c: Ditto.
        * libc/stdio64/fsetpos64.c: Ditto.
        * libc/stdio64/ftello64.c: Ditto.
        * libc/stdio64/tmpfile64.c: Ditto.
        * libc/stdlib/Makefile.am: Add EL/IX level checking.
        * libc/stdlib/Makefile.in: Regenerated.
        * libc/stdlib/mstats.c: Add EL/IX level checking.
        * libc/string/Makefile.am: Ditto.
        * libc/string/Makefile.in: Regenerated.
        * libc/sys/linux/Makefile.am: Add EL/IX level checking.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/aclocal.m4: Ditto.
        * libc/sys/linux/configure: Ditto.
        * libc/sys/linux/aio.c: Add EL/IX level checking.
        * libc/sys/linux/ftok.c: Ditto.
        * libc/sys/linux/getdate.c: Ditto.
        * libc/sys/linux/ids.c: Ditto.
        * libc/sys/linux/inode.c: Ditto.
        * libc/sys/linux/io.c: Ditto.
        * libc/sys/linux/process.c: Ditto.
        * libc/sys/linux/resource.c: Ditto.
        * libc/sys/linux/sched.c: Ditto.
        * libc/sys/linux/sig.c: Ditto.
        * libc/sys/linux/termios.c: Ditto.
        * libc/sys/linux/wait.c: Ditto plus add __waitpid and
        __libc___waitpid weak aliases.
        * libc/sys/linux/machine/i386/syscall.h: Add new _base macros
        that generate the code for a syscall, but do not create a
        weak alias.
        * libc/syscalls/Makefile.am: Add EL/IX level checking.
        * libc/syscalls/Makefile.in: Regenerated.
        * libc/time/tzset_r.c: Change to replace strdup with equivalent
        functionality.
        * libc/unix/Makefile.am: Add EL/IX level checking.
        * libc/unix/Makefile.in: Regenerated.
2002-08-26 18:56:09 +00:00
Jeff Johnston 39e65e0113 2002-06-05 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/string.h[__linux__]: Add strsignal prototype.
        * libc/include/sys/lock.h: New file with default locking support.
        * libc/include/sys/reent.h: Add signal buffer support for strsignal
        and psignal.
        * libc/posix/Makefile.am: Add support for readdir_r.c.
        * libc/posix/Makefile.in: Regenerated.
        * libc/posix/closedir.c: Add locking support and hash table cleanup.
        * libc/posix/opendir.c: Add lock support.
        * libc/posix/readdir.c: Ditto.
        * libc/posix/rewinddir.c: Ditto.
        * libc/posix/scandir.c: Ditto.
        * libc/posix/seekdir.c: Ditto.
        * libc/posix/telldir.c: Ditto plus add _cleanupdir routine to
        clean up leftover hash table entries.
        * libc/posix/readdir_r.c: New file.
        * libc/sys/linux/Makefile.am: Add psignal.c and strsignal.c support.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/sys/dirent.h: Add dd_lock to DIR structure.
        * libc/sys/linux/sys/signal.h: Add psignal prototype.
        * libc/sys/linux/psignal.c: New file.
        * libc/sys/linux/strsignal.c: Ditto.
2002-06-05 20:58:59 +00:00
Jeff Johnston 6beeb24016 2000-08-27 Werner Almesberger <Werner.Almesberger@epfl.ch>
* libc/posix/scandir.c (DIRSIZ, scandir): use struct dirent.d_namlen
        only if _DIRENT_HAVE_D_NAMLEN is defined.
        (alphasort): aligned prototype with
        libc/sys/cygwin/sys/dirent.h and simplified function body.
        * libc/posix/telldir.c (telldir): changed "telldir" prototype to
        long telldir (DIR *) as mentioned in annex B of POSIX.1
2000-08-28 20:06:54 +00:00
Christopher Faylor 8a0efa53e4 import newlib-2000-02-17 snapshot 2000-02-17 19:39:52 +00:00