Commit Graph

4 Commits

Author SHA1 Message Date
Eric Blake ada456dcfe headers: properly decorate attributes
Found by:
find -name '*.h' |xargs grep -i 'attribute.*(([a-z]'

For an example of the type of bugs this causes, try compiling this valid
C11 program (it's valid because 'noreturn' is reserved for use in the
user namespace unless you include <stdnoreturn.h>):

$ cat foo.c
#define noreturn __attribute__((noreturn))
#include <stdlib.h>
$ gcc -c -o foo.o -Wall foo.c
In file included from /usr/include/stdlib.h:11:0,
                 from foo.c:2:
foo.c:1:18: error: expected ')' before '__attribute__'
 #define noreturn __attribute__((noreturn))
                  ^
/usr/include/stdlib.h:66:28: error: expected ',' or ';' before ')' token
 _VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn)));
                            ^

* libc/machine/spu/spu_timer_internal.h: Decorate attribute names
with __, for namespace safety.
* libc/machine/xscale/machine/profile.h: Likewise.
* libc/include/stdlib.h: Likewise.
* libc/include/_ansi.h: Likewise.
* libc/include/sys/unistd.h: Likewise.
* libc/sys/linux/linuxthreads/libc-symbols.h: Likewise.
* libc/sys/linux/linuxthreads/internals.h: Likewise.
* libc/sys/linux/machine/i386/weakalias.h: Likewise.
* libc/sys/linux/machine/i386/dl-procinfo.h: Likewise.
* libc/sys/linux/machine/i386/dl-machine.h: Likewise.
* libc/sys/linux/libc-symbols.h: Likewise.
* libc/sys/linux/iconv/gconv_charset.h: Likewise.
* libc/sys/linux/include/resolv.h: Likewise.
* libc/sys/linux/sys/unistd.h: Likewise.
* libc/sys/linux/dl/atomicity.h: Likewise.
* libc/sys/linux/dl/dynamic-link.h: Likewise.
* libc/sys/linux/dl/ldsodefs.h: Likewise.
2014-08-01 15:44:51 +00:00
Jeff Johnston b10ab72581 2005-09-08 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am: Add include files under bits sub-directory.
        * Makefile.in: Regenerated.
        * libc/sys/linux/argp/argp-fs-xinl.c: Set __OPTIMIZE__ to
        actual value of 1 to be compatible with newer glibc headers.
        * libc/sys/linux/sys/cdefs.h: Fix to be compatible with newer
        glibc headers.
        * libc/sys/linux/sys/dirent.h: Ditto.
        * libc/sys/linux/argp/argp-xinl.c: Ditto.
        * libc/sys/linux/dl/dl-runtime.c: Make sure fixup and
        profile_fixup routines are marked used so they won't be
        optimized away.
        * libc/sys/linux/dl/dl-cache.c: Don't use weak_extern macro
        to mark functions as weak.
        * libc/sys/linux/dl/dl-open.c: Ditto.
        * libc/sys/linux/iconv/gconv_open.c: Fix to obey new gcc4
        rules about lvalues.
        * libc/sys/linux/iconv/gconv_simple.c: Ditto.
        * libc/sys/linux/linuxthreads/bits/libc-lock.h: Don't use
        weak_extern macro to mark functions as weak.  Instead always
        use #pragma weak.
        * iconvdata/jis0208.h: Fix to work with gcc4.
        * libc/sys/linux/dl/dl-load.c: Ditto.
        * libc/sys/linux/dl/dl-reloc.c: Ditto.
        * libc/sys/linux/dl/do-rel.h: Ditto.
        * libc/sys/linux/dl/dynamic-link.h: Ditto.
        * libc/sys/linux/include/ltdl.h: Ditto.
        * libc/sys/linux/machine/i386/dl-machine.h: Ditto.
        * libc/sys/linux/machine/i386/weakalias.h: Ditto.
        * libc/sys/linux/net/ns_ntoa.c: Ditto.
        * libc/sys/linux/bits/initspin.h: New file.
        * libc/sys/linux/bits/libc-lock.h: Ditto.
        * libc/sys/linux/bits/pthreadtypes.h: Ditto.
        * libc/sys/linux/bits/typesizes.h: Ditto.
2005-09-08 22:45:53 +00:00
Jeff Johnston edba3282e8 2002-07-15 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/Makefile.am: Add new files.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/bp-sym.h: Moved to include directory.
        * libc/sys/linux/mmap.c: Add weak aliases: __mmap, __munmap, __mremap.
        * libc/sys/linux/inode.c: Set _LIBC to 1.
        * libc/sys/linux/mq_close.c: Ditto.
        * libc/sys/linux/mq_getattr.c: Ditto.
        * libc/sys/linux/mq_open.c: Ditto.
        * libc/sys/linux/mq_receive.c: Ditto.
        * libc/sys/linux/mq_send.c: Ditto.
        * libc/sys/linux/mq_setattr.c: Ditto.
        * libc/sys/linux/mq_unlink.c: Ditto.
        * libc/sys/linux/calloc.c: New file.
        * libc/sys/linux/callocr.c: Ditto.
        * libc/sys/linux/cfreer.c: Ditto.
        * libc/sys/linux/config.h: Ditto.
        * libc/sys/linux/free.c: Ditto.
        * libc/sys/linux/freer.c: Ditto.
        * libc/sys/linux/msize.c: Ditto.
        * libc/sys/linux/msizer.c: Ditto.
        * libc/sys/linux/mstats.c: Ditto.
        * libc/sys/linux/mtrim.c: Ditto.
        * libc/sys/linux/mtrimr.c: Ditto.
        * libc/sys/linux/pvallocr.c: Ditto.
        * libc/sys/linux/realloc.c: Ditto.
        * libc/sys/linux/reallocr.c: Ditto.
        * libc/sys/linux/thread-m.h: Ditto.
        * libc/sys/linux/vallocr.c: Ditto.
        * libc/sys/linux/bp-checks.h: Ditto.
        * libc/sys/linux/libc-symbols.h: Ditto.
        * libc/sys/linux/libc-tsd.h: Ditto.
        * libc/sys/linux/libintl.h: Ditto.
        * libc/sys/linux/malign.c: Ditto.
        * libc/sys/linux/malignr.c: Ditto.
        * libc/sys/linux/mallinfor.c: Ditto.
        * libc/sys/linux/malloc.c: Ditto.
        * libc/sys/linux/mallocr.c: Ditto.
        * libc/sys/linux/malloptr.c: Ditto.
        * libc/sys/linux/mallstatsr.c: Ditto.
        * libc/sys/linux/mcheck.c: Ditto.
        * libc/sys/linux/mhooks.h: Ditto.
        * libc/sys/linux/include/bp-sym.h: Ditto.
        * libc/sys/linux/include/malloc.h: Ditto.
        * libc/sys/linux/include/mcheck.h: Ditto.
        * libc/sys/linux/machine/i386/getpagesize.c: New file.
        * libc/sys/linux/machine/i386/Makefile.am: Add getpagesize.c.
        * libc/sys/linux/machine/i386/Makefile.in: Regenerated.
        * libc/sys/linux/machine/i386/sysdep.h: New file.
        * libc/sys/linux/machine/i386/weakalias.h: Add weak_function support.
        * libc/sys/linux/sys/dirent.h: Set _LIBC to 1.
	* libc/sys/linux/sys/types.h: Add new types.
2002-07-15 20:16:32 +00:00
Jeff Johnston 5e2cbfb6e8 2002-05-17 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am: Copy and install headers from sys/machine/include
	directory.  Also pass $toollibdir to lower-level directories.
	* Makefile.in: Regenerated.
	* libc/include/stdio.h[!_REENT_ONLY]: Change stdin, stdout, and
	stderr to use _REENT macro instead of _impure_ptr directly.
	* libc/include/sys/config.h[__i386__][__linux__]: Define
	__DYNAMIC_REENT__.
	* libc/include/sys/reent.h[!_REENT_ONLY]: Change _REENT macro to be
	call to __getreent() function if !__SINGLE_THREAD__ and
	__DYNAMIC_REENT__ is set.
	* libc/reent/Makefile.am: Add support for getreent.c.
	* libc/reent/Makefile.in: Regenerated.
	* libc/string/strerror.c: Add check if EOPNOTSUPP and ENOTSUP are same.
	* libc/sys/linux/Makefile.am: Add support for new files.
	* libc/sys/linux/configure.in: Add $EXTRA_DIRS variable.
	* libc/sys/linux/Makefile.in: Regenerated.
	* libc/sys/linux/configure: Ditto.
	* libc/sys/linux/io.c: Add poll syscall.  Also weak-alias
	__close, __read, __write, __poll, __open, __lseek, __fcntl from
	their __libc_ counterparts.
	* libc/sys/linux/io64.c: Add __libc_ prefix to lseek64 and open64
	and weak-alias to regular names.
	* libc/sys/linux/pread64.c: Rename to __libc_pread64 and weak-alias
	to pread64 and __pread64.
	* libc/sys/linux/process.c: Weak_alias __libc_getpid to __getpid.
	* libc/sys/linux/pwrite64.c: Rename to __libc_pwrite64 and
	weak-alias to pwrite64.
	* libc/sys/linux/sched.c: Weak-alias __libc_sched_getparam,
	__libc_sched_getscheduler, __libc_sched_get_priority_max,
	__libc_sched_get_priority_min, and __libc_sched_setschedule to
	name with __ instead of __libc_.
	* libc/sys/linux/siglongjmp.c: Include <machine/weakalias.h>.
	Rename siglongjmp to __libc_siglongjmp and weak-alias to siglongjmp.
	Call __libc_longjmp instead of longjmp, from __libc_siglongjmp.
	* libc/sys/linux/signal.c: Rename raise to __libc_raise and weak-alias
	to raise.
	* libc/sys/linux/socket.c: Weak-alias __libc_connect to __connect and
	__libc_send to __send.
	* libc/sys/linux/time.c: Weak-alias __libc_gettimeofday to
	__gettimeofday.
	* libc/sys/linux/wait.c: Rename wait to __libc_wait and weak-alias
	it to wait.  Rename wait3 to __libc_wait3 and weak-alias it to wait3.
	* libc/sys/linux/include/setjmp.h: Use __jmp_buf in sigjmp_buf
	type and typedef __jmp_buf to jmp_buf.
	* libc/sys/linux/machine/i386/Makefile.am: Add syscalls.c and
	setjmp.S.
	* libc/sys/linux/machine/i386/Makefile.in: Regenerated.
	* libc/sys/linux/machine/i386/crt0.c: Add support to clear .bss
	section.
	* libc/sys/linux/machine/i386/socketcall.h: Change to use __libc_
	prefix for function macros and then use weak_alias() to regular names.
	* libc/sys/linux/machine/i386/syscall.h: Ditto.
	* libc/sys/linux/sys/errno.h: Define EOPNOTSUP to be ENOTSUP.
	* libc/sys/linux/sys/stdio.h: Define _flockfile and _funlockfile
	to be flockfile() and funlockfile() respectively.
	* libc/sys/linux/sys/types.h
	* libc/reent/getreent.c: New file.
	* libc/sys/linux/flockfile.c: Ditto.
	* libc/sys/linux/funlockfile.c: Ditto.
	* libc/sys/linux/getreent.c: Ditto.
	* libc/sys/linux/pread.c: Ditto.
	* libc/sys/linux/pwrite.c: Ditto.
	* libc/sys/linux/raise.c: Ditto.
	* libc/sys/linux/system.c: Ditto.
	* libc/sys/linux/tcdrain.c: Ditto.
	* libc/sys/linux/machine/i386/i386mach.h: Ditto.
	* libc/sys/linux/machine/i386/setjmp.S: Ditto.
	* libc/sys/linux/machine/i386/syscalls.c: Ditto.
	* libc/sys/linux/machine/i386/weakalias.h: Ditto.
	* libc/sys/linux/machine/i386/include/setjmp.h: Ditto.
2002-05-17 23:39:39 +00:00