aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorYangyu Chen <cyy@cyyself.name>2025-02-11 18:40:41 -0700
committerJeff Law <jlaw@ventanamicro.com>2025-02-11 18:40:41 -0700
commit2605daa6b896aed15dead194462725874f332c0a (patch)
tree91eadaec9154131ab1c2c0d133559dc01a739cef /libgcc
parent1fb2146baaa2e675055a7c8119c2c2549f1a4b9d (diff)
downloadgcc-2605daa6b896aed15dead194462725874f332c0a.zip
gcc-2605daa6b896aed15dead194462725874f332c0a.tar.gz
gcc-2605daa6b896aed15dead194462725874f332c0a.tar.bz2
RISC-V: Drop __riscv_vendor_feature_bits
As discussed from RISC-V C-API PR #101 [1], As discussed in #96, current interface is insufficient to support some cases, like a vendor buying a CPU IP from the upstream vendor but using their own mvendorid and custom features from the upstream vendor. In this case, we might need to add these extensions for each downstream vendor many times. Thus, making __riscv_vendor_feature_bits guarded by mvendorid is not a good idea. So, drop __riscv_vendor_feature_bits for now, and we should have time to discuss a better solution. [1] https://github.com/riscv-non-isa/riscv-c-api-doc/pull/101 Signed-off-by: Yangyu Chen <cyy@cyyself.name> gcc/ChangeLog: * config/riscv/riscv-feature-bits.h (RISCV_VENDOR_FEATURE_BITS_LENGTH): Drop. (struct riscv_vendor_feature_bits): Drop. libgcc/ChangeLog: * config/riscv/feature_bits.c (RISCV_VENDOR_FEATURE_BITS_LENGTH): Drop. (__init_riscv_features_bits_linux): Drop.
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/config/riscv/feature_bits.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/libgcc/config/riscv/feature_bits.c b/libgcc/config/riscv/feature_bits.c
index b34d4ee..157bcdc 100644
--- a/libgcc/config/riscv/feature_bits.c
+++ b/libgcc/config/riscv/feature_bits.c
@@ -30,13 +30,6 @@ struct {
unsigned long long features[RISCV_FEATURE_BITS_LENGTH];
} __riscv_feature_bits __attribute__ ((visibility ("hidden"), nocommon));
-#define RISCV_VENDOR_FEATURE_BITS_LENGTH 1
-
-struct {
- unsigned length;
- unsigned long long features[RISCV_VENDOR_FEATURE_BITS_LENGTH];
-} __riscv_vendor_feature_bits __attribute__ ((visibility ("hidden"), nocommon));
-
struct {
unsigned mvendorid;
unsigned long long marchid;
@@ -382,8 +375,6 @@ static void __init_riscv_features_bits_linux ()
__riscv_feature_bits.features[i] = features[i];
__riscv_feature_bits.length = RISCV_FEATURE_BITS_LENGTH;
-
- __riscv_vendor_feature_bits.length = 0;
}
#endif
@@ -402,7 +393,6 @@ __init_riscv_feature_bits ()
#else
/* Unsupported, just initialize that into all zeros. */
__riscv_feature_bits.length = 0;
- __riscv_vendor_feature_bits.length = 0;
__riscv_cpu_model.mvendorid = 0;
__riscv_cpu_model.marchid = 0;
__riscv_cpu_model.mimpid = 0;