re PR go/92820 (libgo.so.15 has executable stack)

PR go/92820
    runtime: only build go-context for x86 GNU/Linux
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/210258

From-SVN: r279063
This commit is contained in:
Ian Lance Taylor 2019-12-06 19:52:46 +00:00
parent 5ec7a413d1
commit eff6af8e0e
3 changed files with 24 additions and 12 deletions

View File

@ -1,4 +1,4 @@
f04751699e1a1ce98fe8bdbcce5a00f1be6a7d15 15c7bc9f0a432bc09716758412ea41d6caa6491b
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

@ -414,6 +414,13 @@ else
rtems_task_variable_add_file = rtems_task_variable_add_file =
endif endif
runtime_context_asm_file =
if LIBGO_IS_X86
if LIBGO_IS_LINUX
runtime_context_asm_file += runtime/go-context.S
endif
endif
runtime_files = \ runtime_files = \
runtime/aeshash.c \ runtime/aeshash.c \
runtime/go-assert.c \ runtime/go-assert.c \
@ -445,7 +452,7 @@ runtime_files = \
runtime/runtime_c.c \ runtime/runtime_c.c \
runtime/stack.c \ runtime/stack.c \
runtime/yield.c \ runtime/yield.c \
runtime/go-context.S \ $(runtime_context_asm_file) \
$(rtems_task_variable_add_file) $(rtems_task_variable_add_file)
version.go: s-version; @true version.go: s-version; @true

View File

@ -104,8 +104,9 @@ target_triplet = @target@
# Using an import file for libgo avoid requiring to use the -brtl flag # Using an import file for libgo avoid requiring to use the -brtl flag
# when builing a go program # when builing a go program
@LIBGO_IS_AIX_TRUE@am__append_2 = -Wl,-bbigtoc -Wl,-bI:$(srcdir)/libgo.imp @LIBGO_IS_AIX_TRUE@am__append_2 = -Wl,-bbigtoc -Wl,-bI:$(srcdir)/libgo.imp
@GOC_IS_LLGO_TRUE@am__append_3 = libgo-llgo.la libgobegin-llgo.a @LIBGO_IS_LINUX_TRUE@@LIBGO_IS_X86_TRUE@am__append_3 = runtime/go-context.S
@GOC_IS_LLGO_FALSE@am__append_4 = libgo.la libgobegin.a @GOC_IS_LLGO_TRUE@am__append_4 = libgo-llgo.la libgobegin-llgo.a
@GOC_IS_LLGO_FALSE@am__append_5 = libgo.la libgobegin.a
subdir = . subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
@ -229,9 +230,12 @@ am__DEPENDENCIES_5 = $(am__DEPENDENCIES_3) \
$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_4) \ $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_4) \
$(am__DEPENDENCIES_4) $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_4) $(am__DEPENDENCIES_4)
libgo_llgo_la_DEPENDENCIES = $(am__DEPENDENCIES_5) libgo_llgo_la_DEPENDENCIES = $(am__DEPENDENCIES_5)
@LIBGO_IS_RTEMS_TRUE@am__objects_1 = \ @LIBGO_IS_LINUX_TRUE@@LIBGO_IS_X86_TRUE@am__objects_1 = \
@LIBGO_IS_LINUX_TRUE@@LIBGO_IS_X86_TRUE@ runtime/go-context.lo
am__objects_2 = $(am__objects_1)
@LIBGO_IS_RTEMS_TRUE@am__objects_3 = \
@LIBGO_IS_RTEMS_TRUE@ runtime/rtems-task-variable-add.lo @LIBGO_IS_RTEMS_TRUE@ runtime/rtems-task-variable-add.lo
am__objects_2 = runtime/aeshash.lo runtime/go-assert.lo \ am__objects_4 = runtime/aeshash.lo runtime/go-assert.lo \
runtime/go-caller.lo runtime/go-callers.lo runtime/go-cdiv.lo \ runtime/go-caller.lo runtime/go-callers.lo runtime/go-cdiv.lo \
runtime/go-cgo.lo runtime/go-construct-map.lo \ runtime/go-cgo.lo runtime/go-construct-map.lo \
runtime/go-ffi.lo runtime/go-fieldtrack.lo \ runtime/go-ffi.lo runtime/go-fieldtrack.lo \
@ -244,8 +248,8 @@ am__objects_2 = runtime/aeshash.lo runtime/go-assert.lo \
runtime/go-unwind.lo runtime/go-varargs.lo \ runtime/go-unwind.lo runtime/go-varargs.lo \
runtime/env_posix.lo runtime/panic.lo runtime/print.lo \ runtime/env_posix.lo runtime/panic.lo runtime/print.lo \
runtime/proc.lo runtime/runtime_c.lo runtime/stack.lo \ runtime/proc.lo runtime/runtime_c.lo runtime/stack.lo \
runtime/yield.lo runtime/go-context.lo $(am__objects_1) runtime/yield.lo $(am__objects_2) $(am__objects_3)
am_libgo_llgo_la_OBJECTS = $(am__objects_2) am_libgo_llgo_la_OBJECTS = $(am__objects_4)
libgo_llgo_la_OBJECTS = $(am_libgo_llgo_la_OBJECTS) libgo_llgo_la_OBJECTS = $(am_libgo_llgo_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@) AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@ -256,7 +260,7 @@ libgo_llgo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(libgo_llgo_la_LDFLAGS) $(LDFLAGS) -o $@ $(libgo_llgo_la_LDFLAGS) $(LDFLAGS) -o $@
@GOC_IS_LLGO_TRUE@am_libgo_llgo_la_rpath = -rpath $(toolexeclibdir) @GOC_IS_LLGO_TRUE@am_libgo_llgo_la_rpath = -rpath $(toolexeclibdir)
libgo_la_DEPENDENCIES = $(am__DEPENDENCIES_5) libgo_la_DEPENDENCIES = $(am__DEPENDENCIES_5)
am_libgo_la_OBJECTS = $(am__objects_2) am_libgo_la_OBJECTS = $(am__objects_4)
libgo_la_OBJECTS = $(am_libgo_la_OBJECTS) libgo_la_OBJECTS = $(am_libgo_la_OBJECTS)
libgo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ libgo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
@ -862,6 +866,7 @@ noinst_DATA = golang.org/x/net/nettest.gox internal/cfg.gox \
runtime/pprof/internal/profile.gox zdefaultcc.go runtime/pprof/internal/profile.gox zdefaultcc.go
@LIBGO_IS_RTEMS_FALSE@rtems_task_variable_add_file = @LIBGO_IS_RTEMS_FALSE@rtems_task_variable_add_file =
@LIBGO_IS_RTEMS_TRUE@rtems_task_variable_add_file = runtime/rtems-task-variable-add.c @LIBGO_IS_RTEMS_TRUE@rtems_task_variable_add_file = runtime/rtems-task-variable-add.c
runtime_context_asm_file = $(am__append_3)
runtime_files = \ runtime_files = \
runtime/aeshash.c \ runtime/aeshash.c \
runtime/go-assert.c \ runtime/go-assert.c \
@ -893,7 +898,7 @@ runtime_files = \
runtime/runtime_c.c \ runtime/runtime_c.c \
runtime/stack.c \ runtime/stack.c \
runtime/yield.c \ runtime/yield.c \
runtime/go-context.S \ $(runtime_context_asm_file) \
$(rtems_task_variable_add_file) $(rtems_task_variable_add_file)
GCCGO_INSTALL_NAME := $(shell echo gccgo|sed '$(program_transform_name)') GCCGO_INSTALL_NAME := $(shell echo gccgo|sed '$(program_transform_name)')
@ -1053,8 +1058,8 @@ CHECK_DEPS = $(toolexeclibgo_DATA) $(toolexeclibgoarchive_DATA) \
$(toolexeclibgoruntime_DATA) $(toolexeclibgosync_DATA) \ $(toolexeclibgoruntime_DATA) $(toolexeclibgosync_DATA) \
$(toolexeclibgotesting_DATA) $(toolexeclibgotext_DATA) \ $(toolexeclibgotesting_DATA) $(toolexeclibgotext_DATA) \
$(toolexeclibgotexttemplate_DATA) $(toolexeclibgounicode_DATA) \ $(toolexeclibgotexttemplate_DATA) $(toolexeclibgounicode_DATA) \
$(noinst_DATA) $(noinst_LIBRARIES) $(am__append_3) \ $(noinst_DATA) $(noinst_LIBRARIES) $(am__append_4) \
$(am__append_4) $(am__append_5)
# Pass -ffp-contract=off, or 386-specific options, when building the # Pass -ffp-contract=off, or 386-specific options, when building the
# math package. MATH_FLAG is defined in configure.ac. # math package. MATH_FLAG is defined in configure.ac.