This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! Plus a few small other things. $(uses-callbacks) is mainly so that it can be changed easily in one place. 2003-09-15 Jakub Jelinek <jakub@redhat.com> * argp/argp.h (argp_parse, __argp_parse): Remove __THROW. * argp/Makefile (CFLAGS-argp-help.c, CFLAGS-argp-parse.c): Add $(uses-callbacks). * dirent/Makefile (CFLAGS-scandir.c, CFLAGS-scandir64.c): Likewise. * elf/Makefile (CFLAGS-dl-iterate-phdr.c, CFLAGS-dl-iterate-phdr-static.c): Add $(uses-callbacks). * elf/dl-iteratephdr.c (cancel_handler): New function. (__dl_iterate_phdr): Add __libc_cleanup_{push,pop}. * elf/link.h (dl_iterate_phdr): Remove __THROW. * io/Makefile (CFLAGS-fts.c): Merge into one assignment. Add $(uses-callbacks). (CFLAGS-ftw.c, CFLAGS-ftw64.c): Add $(uses-callbacks). * misc/Makefile (CFLAGS-tsearch.c, CFLAGS-lsearch.c): Change $(exceptions) to $(uses-callbacks). * Makeconfig (uses-callbacks): Set to $(exceptions). * posix/Makefile (CFLAGS-glob.c, CFLAGS-glob64.c): Add $(uses-callbacks). * stdlib/Makefile (CFLAGS-bsearch.c, CFLAGS-msort.c, CFLAGS-qsort.c): Likewise. nptl/ * Makefile (CFLAGS-pthread_once.c): Add $(uses-callbacks). linuxthreads/ * Makefile (CFLAGS-mutex.c): Add $(uses-callbacks). (CFLAGS-sighandler.c): Change $(exceptions) into $(uses-callbacks). --- libc/argp/argp.h.jj 2003-09-02 03:08:53.000000000 -0400 +++ libc/argp/argp.h 2003-09-15 08:12:50.000000000 -0400 @@ -380,11 +380,11 @@ struct argp_state extern error_t argp_parse (__const struct argp *__restrict __argp, int __argc, char **__restrict __argv, unsigned __flags, int *__restrict __arg_index, - void *__restrict __input) __THROW; + void *__restrict __input); extern error_t __argp_parse (__const struct argp *__restrict __argp, int __argc, char **__restrict __argv, unsigned __flags, int *__restrict __arg_index, - void *__restrict __input) __THROW; + void *__restrict __input); /* Global variables. */ --- libc/argp/Makefile.jj 2003-09-02 03:08:53.000000000 -0400 +++ libc/argp/Makefile 2003-09-15 08:13:28.000000000 -0400 @@ -28,7 +28,8 @@ routines = $(addprefix argp-, ba fmtstre tests = argp-test tst-argp1 -CFLAGS-argp-help.c = -fexceptions +CFLAGS-argp-help.c = $(uses-callbacks) -fexceptions +CFLAGS-argp-parse.c = $(uses-callbacks) CFLAGS-argp-fmtstream.c = -fexceptions include ../Rules --- libc/nptl/Makefile.jj 2003-09-03 07:13:51.000000000 -0400 +++ libc/nptl/Makefile 2003-09-15 08:32:04.000000000 -0400 @@ -162,7 +162,8 @@ CFLAGS-forward.c = -fexceptions CFLAGS-pthread_testcancel.c = -fexceptions CFLAGS-pthread_join.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-pthread_timedjoin.c = -fexceptions -fasynchronous-unwind-tables -CFLAGS-pthread_once.c = -fexceptions -fasynchronous-unwind-tables +CFLAGS-pthread_once.c = $(uses-callbacks) -fexceptions \ + -fasynchronous-unwind-tables CFLAGS-pthread_cond_wait.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-pthread_cond_timedwait.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-sem_wait.c = -fexceptions -fasynchronous-unwind-tables --- libc/dirent/Makefile.jj 2002-06-22 01:48:16.000000000 -0400 +++ libc/dirent/Makefile 2003-09-15 06:56:01.000000000 -0400 @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2000, 2002 Free Software Foundation, Inc. +# Copyright (C) 1991-2000, 2002, 2003 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -30,6 +30,9 @@ distribute := dirstream.h tests := list tst-seekdir opendir-tst1 bug-readdir1 +CFLAGS-scandir.c = $(uses-callbacks) +CFLAGS-scandir64.c = $(uses-callbacks) + include ../Rules opendir-tst1-ARGS = --test-dir=${common-objpfx}dirent --- libc/elf/Makefile.jj 2003-08-14 05:05:25.000000000 -0400 +++ libc/elf/Makefile 2003-09-15 08:42:17.000000000 -0400 @@ -84,6 +84,8 @@ distribute := rtld-Rules \ CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables +CFLAGS-dl-iterate-phdr.c = $(uses-callbacks) +CFLAGS-dl-iterate-phdr-static.c = $(uses-callbacks) include ../Makeconfig --- libc/elf/dl-iteratephdr.c.jj 2003-06-16 02:59:03.000000000 -0400 +++ libc/elf/dl-iteratephdr.c 2003-09-15 08:49:15.000000000 -0400 @@ -23,6 +23,12 @@ #include <stddef.h> #include <bits/libc-lock.h> +static void +cancel_handler (void *arg __attribute__((unused))) +{ + __rtld_lock_unlock_recursive (GL(dl_load_lock)); +} + int __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info, size_t size, void *data), void *data) @@ -33,6 +39,7 @@ __dl_iterate_phdr (int (*callback) (stru /* Make sure we are alone. */ __rtld_lock_lock_recursive (GL(dl_load_lock)); + __libc_cleanup_push (cancel_handler, 0); for (l = GL(dl_loaded); l != NULL; l = l->l_next) { @@ -46,6 +53,7 @@ __dl_iterate_phdr (int (*callback) (stru } /* Release the lock. */ + __libc_cleanup_pop (0); __rtld_lock_unlock_recursive (GL(dl_load_lock)); return ret; --- libc/elf/link.h.jj 2001-07-25 16:43:14.000000000 -0400 +++ libc/elf/link.h 2003-09-15 08:52:03.000000000 -0400 @@ -106,7 +106,7 @@ __BEGIN_DECLS extern int dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info, size_t size, void *data), - void *data) __THROW; + void *data); __END_DECLS --- libc/io/Makefile.jj 2003-09-14 14:13:40.000000000 -0400 +++ libc/io/Makefile 2003-09-15 07:10:04.000000000 -0400 @@ -63,7 +63,6 @@ distribute := ftwtest-sh include ../Rules -CFLAGS-fts.c = -Wno-uninitialized CFLAGS-fcntl.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-poll.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-lockf.c = -fexceptions @@ -71,9 +70,9 @@ CFLAGS-statfs.c = -fexceptions CFLAGS-fstatfs.c = -fexceptions CFLAGS-statvfs.c = -fexceptions CFLAGS-fstatvfs.c = -fexceptions -CFLAGS-fts.c = -fexceptions -CFLAGS-ftw.c = -fexceptions -CFLAGS-ftw64.c = -fexceptions +CFLAGS-fts.c = -Wno-uninitialized $(uses-callbacks) -fexceptions +CFLAGS-ftw.c = $(uses-callbacks) -fexceptions +CFLAGS-ftw64.c = $(uses-callbacks) -fexceptions CFLAGS-lockf.c = -fexceptions CFLAGS-posix_fallocate.c = -fexceptions CFLAGS-posix_fallocate64.c = -fexceptions --- libc/linuxthreads/Makefile.jj 2003-09-02 03:08:54.000000000 -0400 +++ libc/linuxthreads/Makefile 2003-09-15 08:27:00.000000000 -0400 @@ -184,7 +184,8 @@ CFLAGS-pthread.c += -D__NO_WEAK_PTHREAD_ CFLAGS-ptfork.c += -D__NO_WEAK_PTHREAD_ALIASES CFLAGS-cancel.c += -D__NO_WEAK_PTHREAD_ALIASES -D_RPC_THREAD_SAFE_ CFLAGS-unload.c += -DPREFIX=\"$(objpfx)\" -CFLAGS-sighandler.c += $(exceptions) +CFLAGS-mutex.c += $(uses-callbacks) +CFLAGS-sighandler.c += $(uses-callbacks) ifeq (yes,$(versioning)) -include $(common-objpfx)tls.make --- libc/misc/Makefile.jj 2003-09-14 14:13:41.000000000 -0400 +++ libc/misc/Makefile 2003-09-15 07:11:49.000000000 -0400 @@ -75,8 +75,8 @@ gpl2lgpl := error.c error.h tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch -CFLAGS-tsearch.c = $(exceptions) -CFLAGS-lsearch.c = $(exceptions) +CFLAGS-tsearch.c = $(uses-callbacks) +CFLAGS-lsearch.c = $(uses-callbacks) CFLAGS-pselect.c = -fexceptions CFLAGS-readv.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-writev.c = -fexceptions -fasynchronous-unwind-tables --- libc/Makeconfig.jj 2003-09-15 06:43:48.000000000 -0400 +++ libc/Makeconfig 2003-09-15 06:49:31.000000000 -0400 @@ -83,6 +83,9 @@ export sysdep_dir := $(sysdep_dir) # Get the values defined by options to `configure'. include $(common-objpfx)config.make +# What flags to give to sources which call user provided callbacks +uses-callbacks = $(exceptions) + # We have a special subdir for each binary format. # For now, only ELF is fully supported. ifeq ($(elf),yes) --- libc/posix/Makefile.jj 2003-09-14 14:13:41.000000000 -0400 +++ libc/posix/Makefile 2003-09-15 07:08:23.000000000 -0400 @@ -136,8 +136,8 @@ CFLAGS-spawn.c = -fexceptions CFLAGS-spawnp.c = -fexceptions CFLAGS-spawni.c = -fexceptions CFLAGS-pause.c = -fexceptions -CFLAGS-glob.c = -fexceptions -CFLAGS-glob64.c = -fexceptions +CFLAGS-glob.c = $(uses-callbacks) -fexceptions +CFLAGS-glob64.c = $(uses-callbacks) -fexceptions tstgetopt-ARGS = -a -b -cfoobar --required foobar --optional=bazbug \ --none random --col --color --colour --- libc/stdlib/Makefile.jj 2003-09-14 14:13:41.000000000 -0400 +++ libc/stdlib/Makefile 2003-09-15 06:49:48.000000000 -0400 @@ -79,9 +79,9 @@ distribute := $(distribute) $(mpn-header generated += isomac isomac.out -CFLAGS-bsearch.c = $(exceptions) -CFLAGS-msort.c = $(exceptions) -CFLAGS-qsort.c = $(exceptions) +CFLAGS-bsearch.c = $(uses-callbacks) +CFLAGS-msort.c = $(uses-callbacks) +CFLAGS-qsort.c = $(uses-callbacks) CFLAGS-system.c = -fexceptions CFLAGS-fmtmsg.c = -fexceptions Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |