From: Keith Seitz Date: Fri, 9 Sep 2022 15:44:50 +0000 (-0700) Subject: Constify target_desc declarations X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ac9b8c676e9f52c5238bbc61a2cdd27e3d59db10;p=binutils-gdb.git Constify target_desc declarations This patch changes various global target_desc declarations to const, thereby correcting a prominent source of ODR violations in PowerPC-related target code. The majority of files/changes are mechanical const-ifications accomplished by regenerating the C files in features/. This also required manually updating mips-linux-tdep.h, s390-linux-tdep.h, nios2-tdep.h, s390-tdep.h, arch/ppc-linux-tdesc.h, arch/ppc-linux-common.c, and rs6000-tdep.c. Patch tested against the sourceware trybot, and fully regression tested against our (Red Hat's) internal test infrastructure on Rawhide aarch64, s390x, x86_64, and powerpcle. With this patch, I can finally enable LTO in our GDB package builds. [Tested with a rawhide scratch build containing this patch.] Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=22395 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=24835 --- diff --git a/gdb/arch/ppc-linux-common.c b/gdb/arch/ppc-linux-common.c index 02523840070..a0c38f5aa4a 100644 --- a/gdb/arch/ppc-linux-common.c +++ b/gdb/arch/ppc-linux-common.c @@ -46,7 +46,7 @@ ppc_linux_has_isa205 (CORE_ADDR hwcap) const struct target_desc * ppc_linux_match_description (struct ppc_linux_features features) { - struct target_desc *tdesc = NULL; + const struct target_desc *tdesc = NULL; if (features.wordsize == 8) { diff --git a/gdb/arch/ppc-linux-tdesc.h b/gdb/arch/ppc-linux-tdesc.h index 6bda06467e3..b17e03361d6 100644 --- a/gdb/arch/ppc-linux-tdesc.h +++ b/gdb/arch/ppc-linux-tdesc.h @@ -22,25 +22,25 @@ struct target_desc; -extern struct target_desc *tdesc_powerpc_32l; -extern struct target_desc *tdesc_powerpc_altivec32l; -extern struct target_desc *tdesc_powerpc_vsx32l; -extern struct target_desc *tdesc_powerpc_isa205_32l; -extern struct target_desc *tdesc_powerpc_isa205_altivec32l; -extern struct target_desc *tdesc_powerpc_isa205_vsx32l; -extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; -extern struct target_desc *tdesc_powerpc_isa207_vsx32l; -extern struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; -extern struct target_desc *tdesc_powerpc_e500l; - -extern struct target_desc *tdesc_powerpc_64l; -extern struct target_desc *tdesc_powerpc_altivec64l; -extern struct target_desc *tdesc_powerpc_vsx64l; -extern struct target_desc *tdesc_powerpc_isa205_64l; -extern struct target_desc *tdesc_powerpc_isa205_altivec64l; -extern struct target_desc *tdesc_powerpc_isa205_vsx64l; -extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; -extern struct target_desc *tdesc_powerpc_isa207_vsx64l; -extern struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; +extern const struct target_desc *tdesc_powerpc_32l; +extern const struct target_desc *tdesc_powerpc_altivec32l; +extern const struct target_desc *tdesc_powerpc_vsx32l; +extern const struct target_desc *tdesc_powerpc_isa205_32l; +extern const struct target_desc *tdesc_powerpc_isa205_altivec32l; +extern const struct target_desc *tdesc_powerpc_isa205_vsx32l; +extern const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; +extern const struct target_desc *tdesc_powerpc_isa207_vsx32l; +extern const struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; +extern const struct target_desc *tdesc_powerpc_e500l; + +extern const struct target_desc *tdesc_powerpc_64l; +extern const struct target_desc *tdesc_powerpc_altivec64l; +extern const struct target_desc *tdesc_powerpc_vsx64l; +extern const struct target_desc *tdesc_powerpc_isa205_64l; +extern const struct target_desc *tdesc_powerpc_isa205_altivec64l; +extern const struct target_desc *tdesc_powerpc_isa205_vsx64l; +extern const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; +extern const struct target_desc *tdesc_powerpc_isa207_vsx64l; +extern const struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; #endif /* ARCH_PPC_LINUX_TDESC_H */ diff --git a/gdb/features/Makefile b/gdb/features/Makefile index 1f2b8963ad8..c3e07809db3 100644 --- a/gdb/features/Makefile +++ b/gdb/features/Makefile @@ -74,6 +74,7 @@ mips-dsp-expedite = r29,pc mips64-expedite = r29,pc mips64-dsp-expedite = r29,pc nios2-linux-expedite = sp,pc +or1k-expedite = r1,npc powerpc-expedite = r1,pc s390-linux32-expedite = r14,r15,pswa s390-linux32v1-expedite = r14,r15,pswa diff --git a/gdb/features/microblaze-with-stack-protect.c b/gdb/features/microblaze-with-stack-protect.c index aa180bf35d5..574dc02db67 100644 --- a/gdb/features/microblaze-with-stack-protect.c +++ b/gdb/features/microblaze-with-stack-protect.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_microblaze_with_stack_protect; +const struct target_desc *tdesc_microblaze_with_stack_protect; static void initialize_tdesc_microblaze_with_stack_protect (void) { diff --git a/gdb/features/microblaze.c b/gdb/features/microblaze.c index ef2c64c720e..8f1fb0a142f 100644 --- a/gdb/features/microblaze.c +++ b/gdb/features/microblaze.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_microblaze; +const struct target_desc *tdesc_microblaze; static void initialize_tdesc_microblaze (void) { diff --git a/gdb/features/mips-dsp-linux.c b/gdb/features/mips-dsp-linux.c index 76a91775e26..d9d928c8012 100644 --- a/gdb/features/mips-dsp-linux.c +++ b/gdb/features/mips-dsp-linux.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_mips_dsp_linux; +const struct target_desc *tdesc_mips_dsp_linux; static void initialize_tdesc_mips_dsp_linux (void) { diff --git a/gdb/features/mips-linux.c b/gdb/features/mips-linux.c index f97232c8a75..8557bc8357d 100644 --- a/gdb/features/mips-linux.c +++ b/gdb/features/mips-linux.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_mips_linux; +const struct target_desc *tdesc_mips_linux; static void initialize_tdesc_mips_linux (void) { diff --git a/gdb/features/mips64-dsp-linux.c b/gdb/features/mips64-dsp-linux.c index 48d212ad907..80bbbcbd152 100644 --- a/gdb/features/mips64-dsp-linux.c +++ b/gdb/features/mips64-dsp-linux.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_mips64_dsp_linux; +const struct target_desc *tdesc_mips64_dsp_linux; static void initialize_tdesc_mips64_dsp_linux (void) { diff --git a/gdb/features/mips64-linux.c b/gdb/features/mips64-linux.c index 4b37d3ddb12..21e8c37b933 100644 --- a/gdb/features/mips64-linux.c +++ b/gdb/features/mips64-linux.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_mips64_linux; +const struct target_desc *tdesc_mips64_linux; static void initialize_tdesc_mips64_linux (void) { diff --git a/gdb/features/nds32.c b/gdb/features/nds32.c index 4e520163931..7a08d2c85bb 100644 --- a/gdb/features/nds32.c +++ b/gdb/features/nds32.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_nds32; +const struct target_desc *tdesc_nds32; static void initialize_tdesc_nds32 (void) { diff --git a/gdb/features/nios2.c b/gdb/features/nios2.c index 6872aaea02d..648f7ed57ab 100644 --- a/gdb/features/nios2.c +++ b/gdb/features/nios2.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_nios2; +const struct target_desc *tdesc_nios2; static void initialize_tdesc_nios2 (void) { diff --git a/gdb/features/or1k-linux.c b/gdb/features/or1k-linux.c index e718d317990..3eb65489383 100644 --- a/gdb/features/or1k-linux.c +++ b/gdb/features/or1k-linux.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_or1k_linux; +const struct target_desc *tdesc_or1k_linux; static void initialize_tdesc_or1k_linux (void) { diff --git a/gdb/features/or1k.c b/gdb/features/or1k.c index c1fd26ce8d6..67040965bd5 100644 --- a/gdb/features/or1k.c +++ b/gdb/features/or1k.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_or1k; +const struct target_desc *tdesc_or1k; static void initialize_tdesc_or1k (void) { diff --git a/gdb/features/rs6000/powerpc-32.c b/gdb/features/rs6000/powerpc-32.c index 4c766b7bf0e..a4f4bed180f 100644 --- a/gdb/features/rs6000/powerpc-32.c +++ b/gdb/features/rs6000/powerpc-32.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_32; +const struct target_desc *tdesc_powerpc_32; static void initialize_tdesc_powerpc_32 (void) { diff --git a/gdb/features/rs6000/powerpc-32l.c b/gdb/features/rs6000/powerpc-32l.c index 34cba5d8a82..f5893bff01b 100644 --- a/gdb/features/rs6000/powerpc-32l.c +++ b/gdb/features/rs6000/powerpc-32l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_32l; +const struct target_desc *tdesc_powerpc_32l; static void initialize_tdesc_powerpc_32l (void) { diff --git a/gdb/features/rs6000/powerpc-403.c b/gdb/features/rs6000/powerpc-403.c index 1b16e081c61..2783287b981 100644 --- a/gdb/features/rs6000/powerpc-403.c +++ b/gdb/features/rs6000/powerpc-403.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_403; +const struct target_desc *tdesc_powerpc_403; static void initialize_tdesc_powerpc_403 (void) { diff --git a/gdb/features/rs6000/powerpc-403gc.c b/gdb/features/rs6000/powerpc-403gc.c index 4ff844dcd73..c69a1342773 100644 --- a/gdb/features/rs6000/powerpc-403gc.c +++ b/gdb/features/rs6000/powerpc-403gc.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_403gc; +const struct target_desc *tdesc_powerpc_403gc; static void initialize_tdesc_powerpc_403gc (void) { diff --git a/gdb/features/rs6000/powerpc-405.c b/gdb/features/rs6000/powerpc-405.c index 4c97aa5ef62..1146d6601bd 100644 --- a/gdb/features/rs6000/powerpc-405.c +++ b/gdb/features/rs6000/powerpc-405.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_405; +const struct target_desc *tdesc_powerpc_405; static void initialize_tdesc_powerpc_405 (void) { diff --git a/gdb/features/rs6000/powerpc-505.c b/gdb/features/rs6000/powerpc-505.c index b9cae668aac..a36157f6c74 100644 --- a/gdb/features/rs6000/powerpc-505.c +++ b/gdb/features/rs6000/powerpc-505.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_505; +const struct target_desc *tdesc_powerpc_505; static void initialize_tdesc_powerpc_505 (void) { diff --git a/gdb/features/rs6000/powerpc-601.c b/gdb/features/rs6000/powerpc-601.c index ba35dc97bf2..ceaf789f3d7 100644 --- a/gdb/features/rs6000/powerpc-601.c +++ b/gdb/features/rs6000/powerpc-601.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_601; +const struct target_desc *tdesc_powerpc_601; static void initialize_tdesc_powerpc_601 (void) { diff --git a/gdb/features/rs6000/powerpc-602.c b/gdb/features/rs6000/powerpc-602.c index 7f69f44ca34..eb85e69d6a0 100644 --- a/gdb/features/rs6000/powerpc-602.c +++ b/gdb/features/rs6000/powerpc-602.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_602; +const struct target_desc *tdesc_powerpc_602; static void initialize_tdesc_powerpc_602 (void) { diff --git a/gdb/features/rs6000/powerpc-603.c b/gdb/features/rs6000/powerpc-603.c index 28c3628dbf5..223919ca2d7 100644 --- a/gdb/features/rs6000/powerpc-603.c +++ b/gdb/features/rs6000/powerpc-603.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_603; +const struct target_desc *tdesc_powerpc_603; static void initialize_tdesc_powerpc_603 (void) { diff --git a/gdb/features/rs6000/powerpc-604.c b/gdb/features/rs6000/powerpc-604.c index fe0fe2fc7e4..09cbb50129f 100644 --- a/gdb/features/rs6000/powerpc-604.c +++ b/gdb/features/rs6000/powerpc-604.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_604; +const struct target_desc *tdesc_powerpc_604; static void initialize_tdesc_powerpc_604 (void) { diff --git a/gdb/features/rs6000/powerpc-64.c b/gdb/features/rs6000/powerpc-64.c index d0688ee28eb..43dee105954 100644 --- a/gdb/features/rs6000/powerpc-64.c +++ b/gdb/features/rs6000/powerpc-64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_64; +const struct target_desc *tdesc_powerpc_64; static void initialize_tdesc_powerpc_64 (void) { diff --git a/gdb/features/rs6000/powerpc-64l.c b/gdb/features/rs6000/powerpc-64l.c index 465c023696a..83a6a159048 100644 --- a/gdb/features/rs6000/powerpc-64l.c +++ b/gdb/features/rs6000/powerpc-64l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_64l; +const struct target_desc *tdesc_powerpc_64l; static void initialize_tdesc_powerpc_64l (void) { diff --git a/gdb/features/rs6000/powerpc-7400.c b/gdb/features/rs6000/powerpc-7400.c index 0e71dd7c2bb..d5fbf4bd3d7 100644 --- a/gdb/features/rs6000/powerpc-7400.c +++ b/gdb/features/rs6000/powerpc-7400.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_7400; +const struct target_desc *tdesc_powerpc_7400; static void initialize_tdesc_powerpc_7400 (void) { diff --git a/gdb/features/rs6000/powerpc-750.c b/gdb/features/rs6000/powerpc-750.c index 396ec456651..60a7b412070 100644 --- a/gdb/features/rs6000/powerpc-750.c +++ b/gdb/features/rs6000/powerpc-750.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_750; +const struct target_desc *tdesc_powerpc_750; static void initialize_tdesc_powerpc_750 (void) { diff --git a/gdb/features/rs6000/powerpc-860.c b/gdb/features/rs6000/powerpc-860.c index 328ad195772..3e9a25f8e97 100644 --- a/gdb/features/rs6000/powerpc-860.c +++ b/gdb/features/rs6000/powerpc-860.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_860; +const struct target_desc *tdesc_powerpc_860; static void initialize_tdesc_powerpc_860 (void) { diff --git a/gdb/features/rs6000/powerpc-altivec32.c b/gdb/features/rs6000/powerpc-altivec32.c index 743ca06fdd1..41cca727be8 100644 --- a/gdb/features/rs6000/powerpc-altivec32.c +++ b/gdb/features/rs6000/powerpc-altivec32.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_altivec32; +const struct target_desc *tdesc_powerpc_altivec32; static void initialize_tdesc_powerpc_altivec32 (void) { diff --git a/gdb/features/rs6000/powerpc-altivec32l.c b/gdb/features/rs6000/powerpc-altivec32l.c index a19016bbac4..9cd935551db 100644 --- a/gdb/features/rs6000/powerpc-altivec32l.c +++ b/gdb/features/rs6000/powerpc-altivec32l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_altivec32l; +const struct target_desc *tdesc_powerpc_altivec32l; static void initialize_tdesc_powerpc_altivec32l (void) { diff --git a/gdb/features/rs6000/powerpc-altivec64.c b/gdb/features/rs6000/powerpc-altivec64.c index b8a157bb98e..8422708ec7f 100644 --- a/gdb/features/rs6000/powerpc-altivec64.c +++ b/gdb/features/rs6000/powerpc-altivec64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_altivec64; +const struct target_desc *tdesc_powerpc_altivec64; static void initialize_tdesc_powerpc_altivec64 (void) { diff --git a/gdb/features/rs6000/powerpc-altivec64l.c b/gdb/features/rs6000/powerpc-altivec64l.c index 1846d067330..977af8c941f 100644 --- a/gdb/features/rs6000/powerpc-altivec64l.c +++ b/gdb/features/rs6000/powerpc-altivec64l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_altivec64l; +const struct target_desc *tdesc_powerpc_altivec64l; static void initialize_tdesc_powerpc_altivec64l (void) { diff --git a/gdb/features/rs6000/powerpc-e500.c b/gdb/features/rs6000/powerpc-e500.c index bf6240561d0..84f721d948f 100644 --- a/gdb/features/rs6000/powerpc-e500.c +++ b/gdb/features/rs6000/powerpc-e500.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_e500; +const struct target_desc *tdesc_powerpc_e500; static void initialize_tdesc_powerpc_e500 (void) { diff --git a/gdb/features/rs6000/powerpc-e500l.c b/gdb/features/rs6000/powerpc-e500l.c index 8199989d3a1..a1e133d1c73 100644 --- a/gdb/features/rs6000/powerpc-e500l.c +++ b/gdb/features/rs6000/powerpc-e500l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_e500l; +const struct target_desc *tdesc_powerpc_e500l; static void initialize_tdesc_powerpc_e500l (void) { diff --git a/gdb/features/rs6000/powerpc-isa205-32l.c b/gdb/features/rs6000/powerpc-isa205-32l.c index 7791fa7e029..57fb20a4b12 100644 --- a/gdb/features/rs6000/powerpc-isa205-32l.c +++ b/gdb/features/rs6000/powerpc-isa205-32l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa205_32l; +const struct target_desc *tdesc_powerpc_isa205_32l; static void initialize_tdesc_powerpc_isa205_32l (void) { diff --git a/gdb/features/rs6000/powerpc-isa205-64l.c b/gdb/features/rs6000/powerpc-isa205-64l.c index fb05df7911b..b9ce8e604fb 100644 --- a/gdb/features/rs6000/powerpc-isa205-64l.c +++ b/gdb/features/rs6000/powerpc-isa205-64l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa205_64l; +const struct target_desc *tdesc_powerpc_isa205_64l; static void initialize_tdesc_powerpc_isa205_64l (void) { diff --git a/gdb/features/rs6000/powerpc-isa205-altivec32l.c b/gdb/features/rs6000/powerpc-isa205-altivec32l.c index a510931ea3c..54b914c3714 100644 --- a/gdb/features/rs6000/powerpc-isa205-altivec32l.c +++ b/gdb/features/rs6000/powerpc-isa205-altivec32l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa205_altivec32l; +const struct target_desc *tdesc_powerpc_isa205_altivec32l; static void initialize_tdesc_powerpc_isa205_altivec32l (void) { diff --git a/gdb/features/rs6000/powerpc-isa205-altivec64l.c b/gdb/features/rs6000/powerpc-isa205-altivec64l.c index f91c2e84518..42e6f03e93c 100644 --- a/gdb/features/rs6000/powerpc-isa205-altivec64l.c +++ b/gdb/features/rs6000/powerpc-isa205-altivec64l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa205_altivec64l; +const struct target_desc *tdesc_powerpc_isa205_altivec64l; static void initialize_tdesc_powerpc_isa205_altivec64l (void) { diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c index 28a7c3b2c4f..a2c6172c6d2 100644 --- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c +++ b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; +const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l; static void initialize_tdesc_powerpc_isa205_ppr_dscr_vsx32l (void) { diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c index d34a197b4f5..3e7915a0619 100644 --- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c +++ b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; +const struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l; static void initialize_tdesc_powerpc_isa205_ppr_dscr_vsx64l (void) { diff --git a/gdb/features/rs6000/powerpc-isa205-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-vsx32l.c index 763915502c0..4cefcc36de5 100644 --- a/gdb/features/rs6000/powerpc-isa205-vsx32l.c +++ b/gdb/features/rs6000/powerpc-isa205-vsx32l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa205_vsx32l; +const struct target_desc *tdesc_powerpc_isa205_vsx32l; static void initialize_tdesc_powerpc_isa205_vsx32l (void) { diff --git a/gdb/features/rs6000/powerpc-isa205-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-vsx64l.c index fad4227b095..2fb151d12c5 100644 --- a/gdb/features/rs6000/powerpc-isa205-vsx64l.c +++ b/gdb/features/rs6000/powerpc-isa205-vsx64l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa205_vsx64l; +const struct target_desc *tdesc_powerpc_isa205_vsx64l; static void initialize_tdesc_powerpc_isa205_vsx64l (void) { diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c b/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c index 78f2047272a..b945039ca28 100644 --- a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c +++ b/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; +const struct target_desc *tdesc_powerpc_isa207_htm_vsx32l; static void initialize_tdesc_powerpc_isa207_htm_vsx32l (void) { diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c b/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c index 5517201043f..3aa579fd5f9 100644 --- a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c +++ b/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; +const struct target_desc *tdesc_powerpc_isa207_htm_vsx64l; static void initialize_tdesc_powerpc_isa207_htm_vsx64l (void) { diff --git a/gdb/features/rs6000/powerpc-isa207-vsx32l.c b/gdb/features/rs6000/powerpc-isa207-vsx32l.c index 7fc15bfbfbd..e5ce7f956cf 100644 --- a/gdb/features/rs6000/powerpc-isa207-vsx32l.c +++ b/gdb/features/rs6000/powerpc-isa207-vsx32l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa207_vsx32l; +const struct target_desc *tdesc_powerpc_isa207_vsx32l; static void initialize_tdesc_powerpc_isa207_vsx32l (void) { diff --git a/gdb/features/rs6000/powerpc-isa207-vsx64l.c b/gdb/features/rs6000/powerpc-isa207-vsx64l.c index 3ad55f75658..adf6d3eec7f 100644 --- a/gdb/features/rs6000/powerpc-isa207-vsx64l.c +++ b/gdb/features/rs6000/powerpc-isa207-vsx64l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_isa207_vsx64l; +const struct target_desc *tdesc_powerpc_isa207_vsx64l; static void initialize_tdesc_powerpc_isa207_vsx64l (void) { diff --git a/gdb/features/rs6000/powerpc-vsx32.c b/gdb/features/rs6000/powerpc-vsx32.c index d7278d9a52b..6fccdb374fb 100644 --- a/gdb/features/rs6000/powerpc-vsx32.c +++ b/gdb/features/rs6000/powerpc-vsx32.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_vsx32; +const struct target_desc *tdesc_powerpc_vsx32; static void initialize_tdesc_powerpc_vsx32 (void) { diff --git a/gdb/features/rs6000/powerpc-vsx32l.c b/gdb/features/rs6000/powerpc-vsx32l.c index 7097ffac8c6..1efe880d379 100644 --- a/gdb/features/rs6000/powerpc-vsx32l.c +++ b/gdb/features/rs6000/powerpc-vsx32l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_vsx32l; +const struct target_desc *tdesc_powerpc_vsx32l; static void initialize_tdesc_powerpc_vsx32l (void) { diff --git a/gdb/features/rs6000/powerpc-vsx64.c b/gdb/features/rs6000/powerpc-vsx64.c index 7e9055991e2..df6d0f4bef9 100644 --- a/gdb/features/rs6000/powerpc-vsx64.c +++ b/gdb/features/rs6000/powerpc-vsx64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_vsx64; +const struct target_desc *tdesc_powerpc_vsx64; static void initialize_tdesc_powerpc_vsx64 (void) { diff --git a/gdb/features/rs6000/powerpc-vsx64l.c b/gdb/features/rs6000/powerpc-vsx64l.c index 4affa35d0cc..89aa13de662 100644 --- a/gdb/features/rs6000/powerpc-vsx64l.c +++ b/gdb/features/rs6000/powerpc-vsx64l.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_powerpc_vsx64l; +const struct target_desc *tdesc_powerpc_vsx64l; static void initialize_tdesc_powerpc_vsx64l (void) { diff --git a/gdb/features/rs6000/rs6000.c b/gdb/features/rs6000/rs6000.c index 826d9ad7582..4aa5a8764a0 100644 --- a/gdb/features/rs6000/rs6000.c +++ b/gdb/features/rs6000/rs6000.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_rs6000; +const struct target_desc *tdesc_rs6000; static void initialize_tdesc_rs6000 (void) { diff --git a/gdb/features/rx.c b/gdb/features/rx.c index dd765c2c63a..825a4ac4538 100644 --- a/gdb/features/rx.c +++ b/gdb/features/rx.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_rx; +const struct target_desc *tdesc_rx; static void initialize_tdesc_rx (void) { diff --git a/gdb/features/s390-gs-linux64.c b/gdb/features/s390-gs-linux64.c index 331b6e27e8c..d48f8312f20 100644 --- a/gdb/features/s390-gs-linux64.c +++ b/gdb/features/s390-gs-linux64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390_gs_linux64; +const struct target_desc *tdesc_s390_gs_linux64; static void initialize_tdesc_s390_gs_linux64 (void) { diff --git a/gdb/features/s390-linux32.c b/gdb/features/s390-linux32.c index 18b0d0f37be..03ec11a26b3 100644 --- a/gdb/features/s390-linux32.c +++ b/gdb/features/s390-linux32.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390_linux32; +const struct target_desc *tdesc_s390_linux32; static void initialize_tdesc_s390_linux32 (void) { diff --git a/gdb/features/s390-linux32v1.c b/gdb/features/s390-linux32v1.c index d1180f98b28..65de6f254f7 100644 --- a/gdb/features/s390-linux32v1.c +++ b/gdb/features/s390-linux32v1.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390_linux32v1; +const struct target_desc *tdesc_s390_linux32v1; static void initialize_tdesc_s390_linux32v1 (void) { diff --git a/gdb/features/s390-linux32v2.c b/gdb/features/s390-linux32v2.c index d1da31a7c9a..0e3e04dfd43 100644 --- a/gdb/features/s390-linux32v2.c +++ b/gdb/features/s390-linux32v2.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390_linux32v2; +const struct target_desc *tdesc_s390_linux32v2; static void initialize_tdesc_s390_linux32v2 (void) { diff --git a/gdb/features/s390-linux64.c b/gdb/features/s390-linux64.c index 235da0f63c2..f0ec91992f9 100644 --- a/gdb/features/s390-linux64.c +++ b/gdb/features/s390-linux64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390_linux64; +const struct target_desc *tdesc_s390_linux64; static void initialize_tdesc_s390_linux64 (void) { diff --git a/gdb/features/s390-linux64v1.c b/gdb/features/s390-linux64v1.c index 108c0ef404f..9a360c7e267 100644 --- a/gdb/features/s390-linux64v1.c +++ b/gdb/features/s390-linux64v1.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390_linux64v1; +const struct target_desc *tdesc_s390_linux64v1; static void initialize_tdesc_s390_linux64v1 (void) { diff --git a/gdb/features/s390-linux64v2.c b/gdb/features/s390-linux64v2.c index 057a12978a7..18bc6ed4f9c 100644 --- a/gdb/features/s390-linux64v2.c +++ b/gdb/features/s390-linux64v2.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390_linux64v2; +const struct target_desc *tdesc_s390_linux64v2; static void initialize_tdesc_s390_linux64v2 (void) { diff --git a/gdb/features/s390-te-linux64.c b/gdb/features/s390-te-linux64.c index f8f2217c69b..a8909b36bbf 100644 --- a/gdb/features/s390-te-linux64.c +++ b/gdb/features/s390-te-linux64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390_te_linux64; +const struct target_desc *tdesc_s390_te_linux64; static void initialize_tdesc_s390_te_linux64 (void) { diff --git a/gdb/features/s390-tevx-linux64.c b/gdb/features/s390-tevx-linux64.c index cbc20775cc6..8f8aec61a49 100644 --- a/gdb/features/s390-tevx-linux64.c +++ b/gdb/features/s390-tevx-linux64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390_tevx_linux64; +const struct target_desc *tdesc_s390_tevx_linux64; static void initialize_tdesc_s390_tevx_linux64 (void) { diff --git a/gdb/features/s390-vx-linux64.c b/gdb/features/s390-vx-linux64.c index 779332ca5e4..0bcc14d7d08 100644 --- a/gdb/features/s390-vx-linux64.c +++ b/gdb/features/s390-vx-linux64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390_vx_linux64; +const struct target_desc *tdesc_s390_vx_linux64; static void initialize_tdesc_s390_vx_linux64 (void) { diff --git a/gdb/features/s390x-gs-linux64.c b/gdb/features/s390x-gs-linux64.c index a779dafe6c3..074c38d668c 100644 --- a/gdb/features/s390x-gs-linux64.c +++ b/gdb/features/s390x-gs-linux64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390x_gs_linux64; +const struct target_desc *tdesc_s390x_gs_linux64; static void initialize_tdesc_s390x_gs_linux64 (void) { diff --git a/gdb/features/s390x-linux64.c b/gdb/features/s390x-linux64.c index f8097e94d5b..af5ba23dc38 100644 --- a/gdb/features/s390x-linux64.c +++ b/gdb/features/s390x-linux64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390x_linux64; +const struct target_desc *tdesc_s390x_linux64; static void initialize_tdesc_s390x_linux64 (void) { diff --git a/gdb/features/s390x-linux64v1.c b/gdb/features/s390x-linux64v1.c index c79ee40efb9..a33bdc1672f 100644 --- a/gdb/features/s390x-linux64v1.c +++ b/gdb/features/s390x-linux64v1.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390x_linux64v1; +const struct target_desc *tdesc_s390x_linux64v1; static void initialize_tdesc_s390x_linux64v1 (void) { diff --git a/gdb/features/s390x-linux64v2.c b/gdb/features/s390x-linux64v2.c index 95009170fe8..8b906a47e44 100644 --- a/gdb/features/s390x-linux64v2.c +++ b/gdb/features/s390x-linux64v2.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390x_linux64v2; +const struct target_desc *tdesc_s390x_linux64v2; static void initialize_tdesc_s390x_linux64v2 (void) { diff --git a/gdb/features/s390x-te-linux64.c b/gdb/features/s390x-te-linux64.c index 64a0fe599df..de8bf610470 100644 --- a/gdb/features/s390x-te-linux64.c +++ b/gdb/features/s390x-te-linux64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390x_te_linux64; +const struct target_desc *tdesc_s390x_te_linux64; static void initialize_tdesc_s390x_te_linux64 (void) { diff --git a/gdb/features/s390x-tevx-linux64.c b/gdb/features/s390x-tevx-linux64.c index ec68e702f7c..8bd5cc6c439 100644 --- a/gdb/features/s390x-tevx-linux64.c +++ b/gdb/features/s390x-tevx-linux64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390x_tevx_linux64; +const struct target_desc *tdesc_s390x_tevx_linux64; static void initialize_tdesc_s390x_tevx_linux64 (void) { diff --git a/gdb/features/s390x-vx-linux64.c b/gdb/features/s390x-vx-linux64.c index 4362e53ad3f..f450c45144d 100644 --- a/gdb/features/s390x-vx-linux64.c +++ b/gdb/features/s390x-vx-linux64.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_s390x_vx_linux64; +const struct target_desc *tdesc_s390x_vx_linux64; static void initialize_tdesc_s390x_vx_linux64 (void) { diff --git a/gdb/features/sparc/sparc32-solaris.c b/gdb/features/sparc/sparc32-solaris.c index c2f16062fc1..3353d4f44f7 100644 --- a/gdb/features/sparc/sparc32-solaris.c +++ b/gdb/features/sparc/sparc32-solaris.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_sparc32_solaris; +const struct target_desc *tdesc_sparc32_solaris; static void initialize_tdesc_sparc32_solaris (void) { diff --git a/gdb/features/sparc/sparc64-solaris.c b/gdb/features/sparc/sparc64-solaris.c index bb8f6853841..1150c884b44 100644 --- a/gdb/features/sparc/sparc64-solaris.c +++ b/gdb/features/sparc/sparc64-solaris.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_sparc64_solaris; +const struct target_desc *tdesc_sparc64_solaris; static void initialize_tdesc_sparc64_solaris (void) { diff --git a/gdb/features/z80.c b/gdb/features/z80.c index 944b563aca4..f8e2a1988d0 100644 --- a/gdb/features/z80.c +++ b/gdb/features/z80.c @@ -5,7 +5,7 @@ #include "osabi.h" #include "target-descriptions.h" -struct target_desc *tdesc_z80; +const struct target_desc *tdesc_z80; static void initialize_tdesc_z80 (void) { diff --git a/gdb/mips-linux-tdep.h b/gdb/mips-linux-tdep.h index 4b9940c0485..1b79302a3a5 100644 --- a/gdb/mips-linux-tdep.h +++ b/gdb/mips-linux-tdep.h @@ -108,9 +108,9 @@ enum { int mips_linux_restart_reg_p (struct gdbarch *gdbarch); /* Target descriptions. */ -extern struct target_desc *tdesc_mips_linux; -extern struct target_desc *tdesc_mips64_linux; -extern struct target_desc *tdesc_mips_dsp_linux; -extern struct target_desc *tdesc_mips64_dsp_linux; +extern const struct target_desc *tdesc_mips_linux; +extern const struct target_desc *tdesc_mips64_linux; +extern const struct target_desc *tdesc_mips_dsp_linux; +extern const struct target_desc *tdesc_mips64_dsp_linux; #endif /* MIPS_LINUX_TDEP_H */ diff --git a/gdb/nios2-tdep.h b/gdb/nios2-tdep.h index cbf2599f5c0..4711b6a2ac5 100644 --- a/gdb/nios2-tdep.h +++ b/gdb/nios2-tdep.h @@ -84,7 +84,7 @@ struct nios2_gdbarch_tdep : gdbarch_tdep_base int jb_pc = 0; }; -extern struct target_desc *tdesc_nios2_linux; -extern struct target_desc *tdesc_nios2; +extern const struct target_desc *tdesc_nios2_linux; +extern const struct target_desc *tdesc_nios2; #endif /* NIOS2_TDEP_H */ diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 87b2faad36a..2a396eff4c4 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -3466,7 +3466,7 @@ struct ppc_variant unsigned long mach; /* Target description for this variant. */ - struct target_desc **tdesc; + const struct target_desc **tdesc; }; static struct ppc_variant variants[] = diff --git a/gdb/s390-linux-tdep.h b/gdb/s390-linux-tdep.h index acc57ab9291..a73c20f3560 100644 --- a/gdb/s390-linux-tdep.h +++ b/gdb/s390-linux-tdep.h @@ -48,20 +48,20 @@ extern const struct regset s390_gs_regset; extern const struct regset s390_gsbc_regset; /* GNU/Linux target descriptions. */ -extern struct target_desc *tdesc_s390_linux32v1; -extern struct target_desc *tdesc_s390_linux32v2; -extern struct target_desc *tdesc_s390_linux64; -extern struct target_desc *tdesc_s390_linux64v1; -extern struct target_desc *tdesc_s390_linux64v2; -extern struct target_desc *tdesc_s390_te_linux64; -extern struct target_desc *tdesc_s390_vx_linux64; -extern struct target_desc *tdesc_s390_tevx_linux64; -extern struct target_desc *tdesc_s390_gs_linux64; -extern struct target_desc *tdesc_s390x_linux64v1; -extern struct target_desc *tdesc_s390x_linux64v2; -extern struct target_desc *tdesc_s390x_te_linux64; -extern struct target_desc *tdesc_s390x_vx_linux64; -extern struct target_desc *tdesc_s390x_tevx_linux64; -extern struct target_desc *tdesc_s390x_gs_linux64; +extern const struct target_desc *tdesc_s390_linux32v1; +extern const struct target_desc *tdesc_s390_linux32v2; +extern const struct target_desc *tdesc_s390_linux64; +extern const struct target_desc *tdesc_s390_linux64v1; +extern const struct target_desc *tdesc_s390_linux64v2; +extern const struct target_desc *tdesc_s390_te_linux64; +extern const struct target_desc *tdesc_s390_vx_linux64; +extern const struct target_desc *tdesc_s390_tevx_linux64; +extern const struct target_desc *tdesc_s390_gs_linux64; +extern const struct target_desc *tdesc_s390x_linux64v1; +extern const struct target_desc *tdesc_s390x_linux64v2; +extern const struct target_desc *tdesc_s390x_te_linux64; +extern const struct target_desc *tdesc_s390x_vx_linux64; +extern const struct target_desc *tdesc_s390x_tevx_linux64; +extern const struct target_desc *tdesc_s390x_gs_linux64; #endif /* S390_LINUX_TDEP_H */ diff --git a/gdb/s390-tdep.h b/gdb/s390-tdep.h index f51423cb018..bfee9a80dd5 100644 --- a/gdb/s390-tdep.h +++ b/gdb/s390-tdep.h @@ -317,7 +317,7 @@ extern struct value *s390_trad_frame_prev_register (struct frame_info *this_frame, struct trad_frame_saved_reg saved_regs[], int regnum); -extern struct target_desc *tdesc_s390_linux32; -extern struct target_desc *tdesc_s390x_linux64; +extern const struct target_desc *tdesc_s390_linux32; +extern const struct target_desc *tdesc_s390x_linux64; #endif /* S390_TDEP_H */ diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c index 20a79d5d458..13cc9e44a53 100644 --- a/gdb/target-descriptions.c +++ b/gdb/target-descriptions.c @@ -1370,7 +1370,7 @@ public: gdb_printf ("#include \"target-descriptions.h\"\n"); gdb_printf ("\n"); - gdb_printf ("struct target_desc *tdesc_%s;\n", m_function); + gdb_printf ("const struct target_desc *tdesc_%s;\n", m_function); gdb_printf ("static void\n"); gdb_printf ("initialize_tdesc_%s (void)\n", m_function); gdb_printf ("{\n");