Commit 5147e0e8 by Richard Henderson Committed by Richard Henderson

re PR libffi/70024 (libffi ABI change w/o SONAME bump)

PR libffi/70024

  * Makefile.am (libffi_version_script): Look in cwd for libffi.map.
  (libffi_version_dep, libffi.map-sun): Likewise.
  (libffi.map): New target.
  * libffi.map.in: Rename from libffi.map.  Add required defines,
  includes, and conditionals.

From-SVN: r233926
parent 72c5cfd2
...@@ -16,6 +16,12 @@ ...@@ -16,6 +16,12 @@
* Makefile.in, configure: Rebuild. * Makefile.in, configure: Rebuild.
* man/Makefile.in, testsuite/Makefile.in: Rebuild. * man/Makefile.in, testsuite/Makefile.in: Rebuild.
* Makefile.am (libffi_version_script): Look in cwd for libffi.map.
(libffi_version_dep, libffi.map-sun): Likewise.
(libffi.map): New target.
* libffi.map.in: Rename from libffi.map. Add required defines,
includes, and conditionals.
2015-10-26 John David Anglin <danglin@gcc.gnu.org> 2015-10-26 John David Anglin <danglin@gcc.gnu.org>
PR libffi/65441 PR libffi/65441
......
...@@ -206,17 +206,15 @@ endif ...@@ -206,17 +206,15 @@ endif
if LIBAT_BUILD_VERSIONED_SHLIB if LIBAT_BUILD_VERSIONED_SHLIB
if LIBAT_BUILD_VERSIONED_SHLIB_GNU if LIBAT_BUILD_VERSIONED_SHLIB_GNU
libffi_version_script = -Wl,--version-script,$(top_srcdir)/libffi.map libffi_version_script = -Wl,--version-script,libffi.map
libffi_version_dep = $(top_srcdir)/libffi.map libffi_version_dep = libffi.map
endif endif
if LIBAT_BUILD_VERSIONED_SHLIB_SUN if LIBAT_BUILD_VERSIONED_SHLIB_SUN
libffi_version_script = -Wl,-M,libffi.map-sun libffi_version_script = -Wl,-M,libffi.map-sun
libffi_version_dep = libffi.map-sun libffi_version_dep = libffi.map-sun
libffi.map-sun : $(top_srcdir)/libffi.map \ libffi.map-sun : libffi.map $(top_srcdir)/../contrib/make_sunver.pl \
$(top_srcdir)/../contrib/make_sunver.pl \
$(libffi_la_OBJECTS) $(libffi_la_LIBADD) $(libffi_la_OBJECTS) $(libffi_la_LIBADD)
perl $(top_srcdir)/../contrib/make_sunver.pl \ perl $(top_srcdir)/../contrib/make_sunver.pl libffi.map \
$(top_srcdir)/libffi.map \
$(libffi_la_OBJECTS:%.lo=.libs/%.o) \ $(libffi_la_OBJECTS:%.lo=.libs/%.o) \
`echo $(libffi_la_LIBADD) | \ `echo $(libffi_la_LIBADD) | \
sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \ sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \
...@@ -228,6 +226,9 @@ libffi_version_dep = ...@@ -228,6 +226,9 @@ libffi_version_dep =
endif endif
libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version` libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
libffi.map: $(top_srcdir)/libffi.map.in
$(COMPILE) -D$(TARGET) -E -x assembler-with-cpp -o $@ $<
libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS) libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep) libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep)
......
...@@ -488,10 +488,10 @@ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES) ...@@ -488,10 +488,10 @@ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
AM_CFLAGS = -Wall -g -fexceptions $(am__append_2) AM_CFLAGS = -Wall -g -fexceptions $(am__append_2)
@LIBAT_BUILD_VERSIONED_SHLIB_FALSE@libffi_version_script = @LIBAT_BUILD_VERSIONED_SHLIB_FALSE@libffi_version_script =
@LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_script = -Wl,--version-script,$(top_srcdir)/libffi.map @LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_script = -Wl,--version-script,libffi.map
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_script = -Wl,-M,libffi.map-sun @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_script = -Wl,-M,libffi.map-sun
@LIBAT_BUILD_VERSIONED_SHLIB_FALSE@libffi_version_dep = @LIBAT_BUILD_VERSIONED_SHLIB_FALSE@libffi_version_dep =
@LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_dep = $(top_srcdir)/libffi.map @LIBAT_BUILD_VERSIONED_SHLIB_GNU_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_dep = libffi.map
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_dep = libffi.map-sun @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi_version_dep = libffi.map-sun
libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version` libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS) libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
...@@ -1901,16 +1901,17 @@ doc/libffi.info: $(STAMP_BUILD_INFO) ...@@ -1901,16 +1901,17 @@ doc/libffi.info: $(STAMP_BUILD_INFO)
stamp-build-info: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp) stamp-build-info: doc/libffi.texi $(srcdir)/doc/version.texi doc/$(am__dirstamp)
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)/doc -o doc/libffi.info $(srcdir)/doc/libffi.texi $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)/doc -o doc/libffi.info $(srcdir)/doc/libffi.texi
@touch $@ @touch $@
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi.map-sun : $(top_srcdir)/libffi.map \ @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@libffi.map-sun : libffi.map $(top_srcdir)/../contrib/make_sunver.pl \
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ $(top_srcdir)/../contrib/make_sunver.pl \
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ $(libffi_la_OBJECTS) $(libffi_la_LIBADD) @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ $(libffi_la_OBJECTS) $(libffi_la_LIBADD)
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ perl $(top_srcdir)/../contrib/make_sunver.pl \ @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ perl $(top_srcdir)/../contrib/make_sunver.pl libffi.map \
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ $(top_srcdir)/libffi.map \
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ $(libffi_la_OBJECTS:%.lo=.libs/%.o) \ @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ $(libffi_la_OBJECTS:%.lo=.libs/%.o) \
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ `echo $(libffi_la_LIBADD) | \ @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ `echo $(libffi_la_LIBADD) | \
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \ @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \
@LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ > $@ || (rm -f $@ ; exit 1) @LIBAT_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBAT_BUILD_VERSIONED_SHLIB_TRUE@ > $@ || (rm -f $@ ; exit 1)
libffi.map: $(top_srcdir)/libffi.map.in
$(COMPILE) -D$(TARGET) -E -x assembler-with-cpp -o $@ $<
# Multilib support. Automake should provide these on its own. # Multilib support. Automake should provide these on its own.
all-recursive: all-multi all-recursive: all-multi
install-recursive: install-multi install-recursive: install-multi
......
#define LIBFFI_ASM
#define LIBFFI_H
#include <fficonfig.h>
#include <ffitarget.h>
LIBFFI_BASE_5 { LIBFFI_BASE_5 {
global: global:
/* Exported data variables. */ /* Exported data variables. */
...@@ -40,7 +45,7 @@ LIBFFI_BASE_5 { ...@@ -40,7 +45,7 @@ LIBFFI_BASE_5 {
*; *;
}; };
/* This section is optional based on FFI_TARGET_HAS_COMPLEX_TYPE. */ #ifdef FFI_TARGET_HAS_COMPLEX_TYPE
LIBFFI_COMPLEX_5 { LIBFFI_COMPLEX_5 {
global: global:
/* Exported data variables. */ /* Exported data variables. */
...@@ -48,8 +53,9 @@ LIBFFI_COMPLEX_5 { ...@@ -48,8 +53,9 @@ LIBFFI_COMPLEX_5 {
ffi_type_complex_double; ffi_type_complex_double;
ffi_type_complex_longdouble; ffi_type_complex_longdouble;
} LIBFFI_BASE_5; } LIBFFI_BASE_5;
#endif
/* This section is optional based on FFI_CLOSURES. */ #if FFI_CLOSURES
LIBFFI_CLOSURE_5 { LIBFFI_CLOSURE_5 {
global: global:
ffi_closure_alloc; ffi_closure_alloc;
...@@ -61,10 +67,12 @@ LIBFFI_CLOSURE_5 { ...@@ -61,10 +67,12 @@ LIBFFI_CLOSURE_5 {
ffi_prep_java_raw_closure; ffi_prep_java_raw_closure;
ffi_prep_java_raw_closure_loc; ffi_prep_java_raw_closure_loc;
} LIBFFI_BASE_5; } LIBFFI_BASE_5;
#endif
/* This section is optional based on FFI_GO_CLOSURES. */ #if FFI_GO_CLOSURES
LIBFFI_GO_CLOSURE_5 { LIBFFI_GO_CLOSURE_5 {
global: global:
ffi_call_go; ffi_call_go;
ffi_prep_go_closure; ffi_prep_go_closure;
} LIBFFI_CLOSURE_5; } LIBFFI_CLOSURE_5;
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment