From 48c66e1d07d65a76c685d10003d751ef883b1244 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 27 Jun 2019 13:52:42 -0600 Subject: [PATCH] Change solib-spu.c to use type-safe registry This changes solib-spu.c to use the type-safe registry. 2019-07-10 Tom Tromey * solib-spu.c (ocl_program_data_key): Change type. (append_ocl_sos, ocl_enable_break, _initialize_spu_solib): Update. --- gdb/ChangeLog | 6 ++++++ gdb/solib-spu.c | 12 +++++------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fb01bd6b2d7..303fe15e90d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2019-07-10 Tom Tromey + + * solib-spu.c (ocl_program_data_key): Change type. + (append_ocl_sos, ocl_enable_break, _initialize_spu_solib): + Update. + 2019-07-10 Tom Tromey * solib-aix.c (lm_info_aix_p): Remove typedef. Don't define VEC. diff --git a/gdb/solib-spu.c b/gdb/solib-spu.c index c5dc8639f1e..448e1a64f4c 100644 --- a/gdb/solib-spu.c +++ b/gdb/solib-spu.c @@ -94,7 +94,8 @@ spu_skip_standalone_loader (void) } } -static const struct objfile_data *ocl_program_data_key; +static objfile_key> + ocl_program_data_key; /* Appends OpenCL programs to the list of `struct so_list' objects. */ static void @@ -104,8 +105,7 @@ append_ocl_sos (struct so_list **link_ptr) for (objfile *objfile : current_program_space->objfiles ()) { - ocl_program_addr_base - = (CORE_ADDR *) objfile_data (objfile, ocl_program_data_key); + ocl_program_addr_base = ocl_program_data_key.get (objfile); if (ocl_program_addr_base != NULL) { enum bfd_endian byte_order = bfd_big_endian (objfile->obfd)? @@ -448,15 +448,14 @@ ocl_enable_break (struct objfile *objfile) /* Store the address of the symbol that will point to OpenCL program using the per-objfile private data mechanism. */ - if (objfile_data (objfile, ocl_program_data_key) == NULL) + if (ocl_program_data_key.get (objfile) == NULL) { CORE_ADDR *ocl_program_addr_base = OBSTACK_CALLOC ( &objfile->objfile_obstack, objfile->sections_end - objfile->sections, CORE_ADDR); *ocl_program_addr_base = BMSYMBOL_VALUE_ADDRESS (addr_sym); - set_objfile_data (objfile, ocl_program_data_key, - ocl_program_addr_base); + ocl_program_data_key.set (objfile, ocl_program_addr_base); } } } @@ -544,6 +543,5 @@ void _initialize_spu_solib (void) { gdb::observers::solib_loaded.attach (spu_solib_loaded); - ocl_program_data_key = register_objfile_data (); } -- 2.30.2