This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Top of tree breakage from ANSI prototype changes
- From: Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>
- To: libc-alpha at sourceware dot org
- Date: Wed, 07 Jan 2015 16:28:37 -0200
- Subject: Re: Top of tree breakage from ANSI prototype changes
- Authentication-results: sourceware.org; auth=none
- References: <37dd8e16-5773-4659-96af-0d29046c2363 at BAMAIL02 dot ba dot imgtec dot org>
On 07-01-2015 16:19, Steve Ellcey wrote:
> Adhemerval,
>
> I am building a GCC toolchain with the top-of-tree GCC and top-of-tree GLIBC
> and am getting build failures due to this patch:
>
> 2015-01-06 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
>
> * nptl/pthread_cancel.c (pthread_cancel): Use ANSI prototype.
> * nptl/pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise.
> * nptl/pthread_cond_wait.c (__pthread_cond_wait): Likewise.
> * nptl/pthread_exit.c (__pthread_exit): Likewise.
> * nptl/pthread_join.c (pthread_join): Likewise.
> * nptl/pthread_timedjoin.c (pthread_timedjoin_np): Likewise.
> * sysdeps/posix/waitid.c (__waitid): Likewise.
> .
> .
> .
>
> I think this only happens with the latest (pre-release 5.0) GCC due to new
> warning messages that now cause errors due to -Werror. I am sitll looking
> into this but I wanted to give you a heads up. I am building for the MIPS
> platform and here are the failure messages I get when building:
>
>
> ../sysdeps/unix/sysv/linux/mips/pread.c: In function '__libc_pread':
> ../sysdeps/unix/sysv/linux/mips/pread.c:39:61: error: expected declaration specifiers before ':' token
> __libc_pread (int fd, void *buf, size_t count, off_t offset):
> ^
> In file included from <command-line>:0:0:
> ../sysdeps/unix/sysv/linux/mips/pread.c:72:29: error: storage class specified for parameter '__pread'
> strong_alias (__libc_pread, __pread)
> ^
> ./../include/libc-symbols.h:117:26: note: in definition of macro '_strong_alias'
> extern __typeof (name) aliasname __attribute__ ((alias (#name)));
> ^
> ../sysdeps/unix/sysv/linux/mips/pread.c:72:1: note: in expansion of macro 'strong_alias'
> strong_alias (__libc_pread, __pread)
> ^
> ../sysdeps/unix/sysv/linux/mips/pread.c:72:1: error: 'alias' attribute ignored [-Werror=attributes]
> In file included from <command-line>:0:0:
> ../sysdeps/unix/sysv/linux/mips/pread.c:73:27: error: storage class specified for parameter 'pread'
> weak_alias (__libc_pread, pread)
> ^
> ./../include/libc-symbols.h:128:26: note: in definition of macro '_weak_alias'
> extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));
> ^
> ../sysdeps/unix/sysv/linux/mips/pread.c:73:1: note: in expansion of macro 'weak_alias'
> weak_alias (__libc_pread, pread)
> ^
> ../sysdeps/unix/sysv/linux/mips/pread.c:73:1: error: 'weak' attribute ignored [-Werror=attributes]
> ../sysdeps/unix/sysv/linux/mips/pread.c:73:1: error: 'alias' attribute ignored [-Werror=attributes]
> ../sysdeps/unix/sysv/linux/mips/pread.c:39:1: error: old-style parameter declarations in prototyped function definition
> __libc_pread (int fd, void *buf, size_t count, off_t offset):
> ^
> ../sysdeps/unix/sysv/linux/mips/pread.c:73:1: error: expected '{' at end of input
> weak_alias (__libc_pread, pread)
> ^
> ../sysdeps/unix/sysv/linux/mips/pread.c:73:1: error: control reaches end of non-void function [-Werror=return-type]
> weak_alias (__libc_pread, pread)
> ^
> cc1: all warnings being treated as errors
> make[2]: *** [/scratch/sellcey/repos/libc_bug/obj-mips-mti-linux-gnu/glibc/obj_default/posix/pread.o] Error 1
> make[2]: *** Waiting for unfinished jobs....
> make[2]: Leaving directory `/scratch/sellcey/repos/libc_bug/src/glibc/posix'
> make[1]: *** [posix/subdir_lib] Error 2
> make[1]: Leaving directory `/scratch/sellcey/repos/libc_bug/src/glibc'
> make: *** [all] Error 2
> Error: Make command failed, stopping build.
>
>
> Steve Ellcey
> sellcey@imgtec.com
>
Sorry about that, I just pushed an obvious fix [1].
[1] https://sourceware.org/git/?p=glibc.git;a=commit;h=882dfe184a81a8924bc8acb79e96fbf7556fa60b