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
changes/15/615/2
ibercom 10 years ago
parent 8ea1c0aa81
commit 3046bc17ed

@ -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)

22
configure vendored

@ -16666,7 +16666,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 ()
{
@ -16734,7 +16734,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 ()
{
@ -16802,7 +16802,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 ()
{
@ -16870,7 +16870,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 ()
{
@ -16938,7 +16938,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 ()
{
@ -17006,7 +17006,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 ()
{
@ -17074,7 +17074,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 ()
{
@ -17142,7 +17142,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 ()
{
@ -17210,7 +17210,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 ()
{
@ -17278,7 +17278,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 ()
{
@ -17346,7 +17346,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 ()
{

@ -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 ()
{

Loading…
Cancel
Save