diff options
Diffstat (limited to 'binary/darwin/gcc-4.5.1-plugin-support.patch')
-rw-r--r-- | binary/darwin/gcc-4.5.1-plugin-support.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/binary/darwin/gcc-4.5.1-plugin-support.patch b/binary/darwin/gcc-4.5.1-plugin-support.patch new file mode 100644 index 0000000..9bd7c9f --- /dev/null +++ b/binary/darwin/gcc-4.5.1-plugin-support.patch @@ -0,0 +1,46 @@ +Index: gcc/configure.ac +=================================================================== +--- gcc/configure.ac (revision 161355) ++++ gcc/configure.ac (working copy) +@@ -4544,15 +4544,23 @@ + pluginlibs= + if test x"$enable_plugin" = x"yes"; then + ++ case "${host}" in ++ *-*-darwin*) ++ export_sym_check="$gcc_cv_nm -g" ++ ;; ++ *) ++ export_sym_check="$gcc_cv_objdump -T" ++ ;; ++ esac + AC_MSG_CHECKING([for exported symbols]) + echo "int main() {return 0;} int foobar() {return 0;}" > conftest.c + ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest > /dev/null 2>&1 +- if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then ++ if $export_sym_check conftest | grep foobar > /dev/null; then + : # No need to use a flag + else + AC_MSG_CHECKING([for -rdynamic]) + ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1 +- if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then ++ if $export_sym_check conftest | grep foobar > /dev/null; then + plugin_rdynamic=yes + pluginlibs="-rdynamic" + else +@@ -4572,7 +4580,14 @@ + + # Check that we can build shared objects with -fPIC -shared + saved_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS -fPIC -shared" ++ case "${host}" in ++ *-*-darwin*) ++ LDFLAGS="$LDFLAGS -fPIC -shared -undefined dynamic_lookup" ++ ;; ++ *) ++ LDFLAGS="$LDFLAGS -fPIC -shared" ++ ;; ++ esac + AC_MSG_CHECKING([for -fPIC -shared]) + AC_TRY_LINK( + [extern int X;],[return X == 0;], |