aboutsummaryrefslogtreecommitdiff
path: root/gcc/system.h
diff options
context:
space:
mode:
authorAndrew Stubbs <ams@codesourcery.com>2021-11-16 10:32:35 +0000
committerAndrew Stubbs <ams@codesourcery.com>2021-12-10 10:45:09 +0000
commit4a87a8e4b13e979e7c8a626a8f4082715a48e21e (patch)
tree2f91529327ffcb7d066bcef4e4da203af311d13f /gcc/system.h
parenta5f65cf7ad640ae398eba7a45c712322ce841809 (diff)
downloadgcc-4a87a8e4b13e979e7c8a626a8f4082715a48e21e.zip
gcc-4a87a8e4b13e979e7c8a626a8f4082715a48e21e.tar.gz
gcc-4a87a8e4b13e979e7c8a626a8f4082715a48e21e.tar.bz2
amdgcn: Change offload variable table discovery
Up to now the libgomp GCN plugin has been finding the offload variables by using a symbol lookup, but the AMD runtime requires that the symbols are global for that to work. This was ensured by mkoffload as a post-procssing step, but the LLVM 13 assembler no longer accepts this in the case where the variable was previously declared differently. This patch switches to locating the symbols directly from the offload_var_table, which means that only one symbol needs to be forced global. This changes breaks the libgomp image compatibility so GOMP_VERSION_GCN has also been bumped. gcc/ChangeLog: * config/gcn/mkoffload.c (process_asm): Process the variable table completely differently. (process_obj): Encode the varaible data differently. include/ChangeLog: * gomp-constants.h (GOMP_VERSION_GCN): Bump. libgomp/ChangeLog: * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables. (GOMP_OFFLOAD_load_image): Locate the offload variables via the table, not individual symbols.
Diffstat (limited to 'gcc/system.h')
0 files changed, 0 insertions, 0 deletions