weakref attribute detection broken with gcc 4.6 and higher

GCC 4.7 Manual:
http://gcc.gnu.org/onlinedocs/gcc-4.7.4/gcc/Function-Attributes.html

weakref ("target")

A weak reference is an alias that does not by itself require a definition
to be given for the target symbol.

ASTERISK-22559 #close
Reported by: Ibercom

Change-Id: I36a136cae947b65187a697533416f9ff9a0b8cdf
This commit is contained in:
ibercom 2015-06-03 02:06:46 +02:00
parent 99c54fe42d
commit f98c458c92
3 changed files with 17 additions and 17 deletions

View file

@ -20,7 +20,7 @@ AC_COMPILE_IFELSE(
)
else
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([$3 void __attribute__(($2)) *test(void *muffin, ...) {return (void *) 0;}],
[AC_LANG_PROGRAM([$3 void __attribute__(($2)) *test(void *muffin, ...) ;],
[])],
AC_MSG_RESULT(yes)
m4_ifval([$4],$4=1)

24
configure vendored
View file

@ -15510,7 +15510,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -15578,7 +15578,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -15646,7 +15646,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -15714,7 +15714,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -15782,7 +15782,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -15850,7 +15850,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -15918,7 +15918,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -15986,7 +15986,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -16065,7 +16065,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -16137,7 +16137,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -16209,7 +16209,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) {return (void *) 0;}
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) ;
int
main ()
{
@ -16283,7 +16283,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) {return (void *) 0;}
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) ;
int
main ()
{

View file

@ -3227,7 +3227,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -3299,7 +3299,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
void __attribute__(()) *test(void *muffin, ...) {return (void *) 0;}
void __attribute__(()) *test(void *muffin, ...) ;
int
main ()
{
@ -3371,7 +3371,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) {return (void *) 0;}
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) ;
int
main ()
{
@ -3445,7 +3445,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) {return (void *) 0;}
static void __attribute__((weakref("foo"))) *test(void *muffin, ...) ;
int
main ()
{