hsdis perhaps also need to be linked with -z noexecstack for JDK-8201398

Florian Weimer fweimer at redhat.com
Mon Aug 13 11:18:05 UTC 2018


On 08/13/2018 06:58 AM, Leslie Zhai wrote:

> So I just add nonexecstack flag set for linking with binutils/ld and 
> test it for mips64el:
> 
> diff -r a57483d08d95 src/share/tools/hsdis/Makefile
> --- a/src/share/tools/hsdis/Makefile    Fri Aug 10 08:29:53 2018 -0700
> +++ b/src/share/tools/hsdis/Makefile    Mon Aug 13 12:51:01 2018 +0800
> @@ -104,12 +104,19 @@
>   endif
>   CFLAGS        += $(CFLAGS/$(ARCH))
>   CFLAGS        += -fPIC
> +ifeq ($(ARCH), mips64)
> +CPUINFO = $(shell cat /proc/cpuinfo)
> +ifneq ($(findstring Loongson,$(CPUINFO)),)
> +CFLAGS += -DLOONGSON
> +endif
> +endif

That really can't be correct—the build environment isn't necessarily the 
same as the execution environment.

>   OS        = linux
>   LIB_EXT        = .so
>   CC         = gcc
>   endif
>   CFLAGS        += -O
>   DLDFLAGS    += -shared
> +DLDFLAGS        += -Wl,-z,noexecstack
>   LDFLAGS         += -ldl
>   OUTFLAGS    += -o $@
>   else

Could this be a toolchain issue?  Does your port use soft-float?

Thanks,
Florian


More information about the jdk8u-dev mailing list