diff options
author | Tobias Burnus <tburnus@baylibre.com> | 2025-02-07 10:44:18 +0100 |
---|---|---|
committer | Tobias Burnus <tburnus@baylibre.com> | 2025-02-07 10:44:18 +0100 |
commit | fa5544625d585a29463acce1f32a7f6fa13e3431 (patch) | |
tree | 7c5e6780f5677801102bbf66a5c5fe03f4f8c1c2 /gcc | |
parent | 7722b65f877f5c6dccea56a711d75e2baedba5cb (diff) | |
download | gcc-fa5544625d585a29463acce1f32a7f6fa13e3431.zip gcc-fa5544625d585a29463acce1f32a7f6fa13e3431.tar.gz gcc-fa5544625d585a29463acce1f32a7f6fa13e3431.tar.bz2 |
[gcn] Fix gfx906's sramecc setting
When compiling with -g, mkoffload.cc creates a device object file itself;
however, in order that the linker dos not complain, the ELF flags must
match what the compiler / linker does. For gfx906, the assembler defaults
to sramecc = any, but gcn-devices.def contained unsupported, which is not
the same - causing link errors. That's a regression caused by commit
r15-4540-ga6b26e5ea09779 - which can be best seen by looking at the
changes to mkoffload.cc.
Additionally, this commit adds '...' to the GCN_DEVICE #define in gcn.cc
to make it agnostic to the addition of fields.
gcc/ChangeLog:
* config/gcn/gcn-devices.def (GCN_DEVICE): Change sramecc for
gfx906 to 'any'.
* config/gcn/gcn.cc (GCN_DEVICE): Add tailing ... to #define.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/gcn/gcn-devices.def | 2 | ||||
-rw-r--r-- | gcc/config/gcn/gcn.cc | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/gcn/gcn-devices.def b/gcc/config/gcn/gcn-devices.def index 7d47a7b..a8b21a3 100644 --- a/gcc/config/gcn/gcn-devices.def +++ b/gcc/config/gcn/gcn-devices.def @@ -91,7 +91,7 @@ GCN_DEVICE(gfx900, GFX900, 0x2c, ISA_GCN5, GCN_DEVICE(gfx906, GFX906, 0x2f, ISA_GCN5, /* XNACK default */ HSACO_ATTR_OFF, - /* SRAM_ECC default */ HSACO_ATTR_UNSUPPORTED, + /* SRAM_ECC default */ HSACO_ATTR_ANY, /* WAVE64 mode */ HSACO_ATTR_UNSUPPORTED, /* CU mode */ HSACO_ATTR_UNSUPPORTED, /* Max ISA VGPRs */ 256, diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc index 4200cfa..82fc6ff 100644 --- a/gcc/config/gcn/gcn.cc +++ b/gcc/config/gcn/gcn.cc @@ -101,7 +101,8 @@ static hash_map<tree, int> lds_allocs; /* Import all the data from gcn-devices.def. The PROCESSOR_GFXnnn should be indices for this table. */ const struct gcn_device_def gcn_devices[] = { -#define GCN_DEVICE(name, NAME, ELF, ISA, XNACK, SRAMECC, WAVE64, CU, VGPRS, GEN_VER,ARCH_FAM) \ +#define GCN_DEVICE(name, NAME, ELF, ISA, XNACK, SRAMECC, WAVE64, CU, VGPRS, \ + GEN_VER, ARCH_FAM, ...) \ {PROCESSOR_ ## NAME, #name, #NAME, ISA, XNACK, SRAMECC, WAVE64, CU, VGPRS, \ GEN_VER, #ARCH_FAM}, #include "gcn-devices.def" |