libgo: fix go_export extraction on Darwin

On Darwin, the section name is prefixed with the segment name, __GNU_GO.
    
    Reviewed-on: https://go-review.googlesource.com/c/151097

From-SVN: r269271
This commit is contained in:
Ian Lance Taylor 2019-02-28 01:01:46 +00:00
parent d0cdfae5ed
commit b0cf10e423
3 changed files with 11 additions and 3 deletions

View File

@ -1,4 +1,4 @@
74533ed435a1a77e6f9ec8f6cf5db1695c2568e8
08f1c400ec95d70a5cf5a08b1600fa5445e42361
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View File

@ -13,6 +13,12 @@ if LIBGO_IS_RTEMS
subdirs = testsuite
endif
if LIBGO_IS_DARWIN
GO_EXPORT_SECTION_NAME = __GNU_GO.__go_export
else
GO_EXPORT_SECTION_NAME = .go_export
endif
SUBDIRS = ${subdirs}
gcc_version := $(shell $(GOC) -dumpversion)
@ -818,7 +824,7 @@ BUILDGOX = \
if test ! -f $$f; then \
f="$(basename $(<D)/.libs/$(<F)).o"; \
fi; \
$(OBJCOPY) -j .go_export $$f $@.tmp; \
$(OBJCOPY) -j $(GO_EXPORT_SECTION_NAME) $$f $@.tmp; \
$(SHELL) $(srcdir)/mvifdiff.sh $@.tmp `echo $@ | sed -e 's/s-gox/gox/'`
GOTESTFLAGS =

View File

@ -529,6 +529,8 @@ top_srcdir = @top_srcdir@
# Go support.
SUFFIXES = .c .go .gox .o .obj .lo .a
@LIBGO_IS_RTEMS_TRUE@subdirs = testsuite
@LIBGO_IS_DARWIN_FALSE@GO_EXPORT_SECTION_NAME = .go_export
@LIBGO_IS_DARWIN_TRUE@GO_EXPORT_SECTION_NAME = __GNU_GO.__go_export
SUBDIRS = ${subdirs}
gcc_version := $(shell $(GOC) -dumpversion)
MAINT_CHARSET = latin1
@ -1001,7 +1003,7 @@ BUILDGOX = \
if test ! -f $$f; then \
f="$(basename $(<D)/.libs/$(<F)).o"; \
fi; \
$(OBJCOPY) -j .go_export $$f $@.tmp; \
$(OBJCOPY) -j $(GO_EXPORT_SECTION_NAME) $$f $@.tmp; \
$(SHELL) $(srcdir)/mvifdiff.sh $@.tmp `echo $@ | sed -e 's/s-gox/gox/'`
GOTESTFLAGS =