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 The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.

View File

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

View File

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