gcc/libgomp
Andrew Stubbs f062c3f115 amdgcn: Switch to HSACO v3 binary format
This upgrades the compiler to emit HSA Code Object v3 binaries.  This means
changing the assembler directives, and linker command line options.

The gcn-run and libgomp loaders need corresponding alterations.  The
relocations no longer need to be fixed up manually, and the kernel symbol
names have changed slightly.

This move makes the binaries compatible with the new rocgdb from ROCm 3.5.

2020-06-17  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/gcn/gcn-hsa.h (TEXT_SECTION_ASM_OP): Use ".text".
	(BSS_SECTION_ASM_OP): Use ".bss".
	(ASM_SPEC): Remove "-mattr=-code-object-v3".
	(LINK_SPEC): Add "--export-dynamic".
	* config/gcn/gcn-opts.h (processor_type): Replace PROCESSOR_VEGA with
	PROCESSOR_VEGA10 and PROCESSOR_VEGA20.
	* config/gcn/gcn-run.c (HSA_RUNTIME_LIB): Use ".so.1" variant.
	(load_image): Remove obsolete relocation handling.
	Add ".kd" suffix to the symbol names.
	* config/gcn/gcn.c (MAX_NORMAL_SGPR_COUNT): Set to 62.
	(gcn_option_override): Update gcn_isa test.
	(gcn_kernel_arg_types): Update all the assembler directives.
	Remove the obsolete options.
	(gcn_conditional_register_usage): Update MAX_NORMAL_SGPR_COUNT usage.
	(gcn_omp_device_kind_arch_isa): Handle PROCESSOR_VEGA10 and
	PROCESSOR_VEGA20.
	(output_file_start): Rework assembler file header.
	(gcn_hsa_declare_function_name): Rework kernel metadata.
	* config/gcn/gcn.h (GCN_KERNEL_ARG_TYPES): Set to 16.
	* config/gcn/gcn.opt (PROCESSOR_VEGA): Remove enum.
	(PROCESSOR_VEGA10): New enum value.
	(PROCESSOR_VEGA20): New enum value.

	libgomp/
	* plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
	variant for HSA_RUNTIME_LIB name.
	(find_executable_symbol_1): Delete.
	(find_executable_symbol): Delete.
	(init_kernel_properties): Add ".kd" suffix to symbol names.
	(find_load_offset): Delete.
	(create_and_finalize_hsa_program): Remove relocation handling.
2020-06-17 10:06:21 +01:00
..
config [OpenACC] Set 'acc_device_current = -1' 2020-04-29 09:54:37 +02:00
plugin amdgcn: Switch to HSACO v3 binary format 2020-06-17 10:06:21 +01:00
testsuite OpenACC/Fortran: permit 'routine' inside PURE 2020-06-16 20:23:58 +02:00
.gitattributes
acc_prof.h
acinclude.m4
aclocal.m4
affinity-fmt.c
affinity.c
alloc.c
allocator.c openmp: Fix up build if HAVE_SYNC_BUILTINS is not defined. 2020-06-02 11:56:59 +02:00
atomic.c
barrier.c
ChangeLog Daily bump. 2020-06-17 00:16:36 +00:00
ChangeLog.graphite
config.h.in
configure Avoid nested save_CFLAGS and save_LDFLAGS 2020-05-29 12:56:40 -07:00
configure.ac libgomp/test: Remove a build sysroot fix regression 2020-04-06 23:32:45 +01:00
configure.tgt
critical.c
env.c openmp: Add basic library allocator support. 2020-05-19 10:11:01 +02:00
error.c
fortran.c
hashtab.h
icv-device.c
icv.c openmp: Add basic library allocator support. 2020-05-19 10:11:01 +02:00
iter_ull.c
iter.c
libgomp_f.h.in
libgomp_g.h
libgomp-plugin.c
libgomp-plugin.h
libgomp.h openmp: Add basic library allocator support. 2020-05-19 10:11:01 +02:00
libgomp.map openmp: Add basic library allocator support. 2020-05-19 10:11:01 +02:00
libgomp.spec.in
libgomp.texi
lock.c
loop_ull.c
loop.c
Makefile.am openmp: Add basic library allocator support. 2020-05-19 10:11:01 +02:00
Makefile.in openmp: Add basic library allocator support. 2020-05-19 10:11:01 +02:00
oacc-async.c
oacc-cuda.c
oacc-host.c
oacc-init.c [gcn] Use 'radeon' for the environment variable 'ACC_DEVICE_TYPE' 2020-04-29 09:24:07 +02:00
oacc-int.h
oacc-mem.c [OpenACC 'exit data'] Strip 'GOMP_MAP_STRUCT' mappings 2020-06-05 18:04:13 +02:00
oacc-parallel.c
oacc-plugin.c
oacc-plugin.h
oacc-profiling.c
oacc-target.c
omp_lib.f90.in
omp_lib.h.in
omp.h.in openmp: Add basic library allocator support. 2020-05-19 10:11:01 +02:00
openacc_lib.h [OpenACC] Set 'acc_device_current = -1' 2020-04-29 09:54:37 +02:00
openacc.f90 [OpenACC] Set 'acc_device_current = -1' 2020-04-29 09:54:37 +02:00
openacc.h [OpenACC] Set 'acc_device_current = -1' 2020-04-29 09:54:37 +02:00
ordered.c
parallel.c
priority_queue.c
priority_queue.h
sections.c
secure_getenv.h
single.c
splay-tree.c
splay-tree.h
target.c libgomp – fix handling of 'target enter data' 2020-03-31 20:38:38 +02:00
task.c
taskloop.c
team.c openmp: Add basic library allocator support. 2020-05-19 10:11:01 +02:00
teams.c
work.c