From e2b7c96630b46f3da7c97525ba900c638b679c8d Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Tue, 8 Nov 2005 01:01:34 +0000 Subject: [PATCH] Various gdb_byte related changes for FRV targets. --- gdb/ChangeLog | 24 ++++++++++++++++++++++++ gdb/frv-linux-tdep.c | 2 +- gdb/frv-tdep.c | 10 +++++----- gdb/solib-frv.c | 40 ++++++++++++++++++++-------------------- 4 files changed, 50 insertions(+), 26 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c596ed1..c8cf4dd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,27 @@ +2005-11-07 Kevin Buettner + + * frv-linux-tdep.c (frv_linux_sigtrapm_frame_prev_register): Change + type of `valuep' argument to `gdb_byte *'. + * frv-tdep.c (frv_pseudo_register_write): Change type of `buffer' + argument to `gdb_byte *'. + (frv_extract_return_value): Change type of `valbuf' argument to + `gdb_byte *'. + (frv_store_return_value): Likewise. + (frv_frame_prev_register): Change type of `bufferp' argument to + `gdb_byte *' + * solib-frv.c (ext_Elf32_Half, ext_Elf32_Addr, ext_Elf32_Word) + (ext_ptr): Change base type from `unsigned char' to `gdb_byte'. Adjust + calls to extract_unsigned_integer which use struct members declared + with these array types to not try to take the address of those + members. + (fetch_loadmap, frv_current_sos): Change cast in target_read_memory() + calls from `char *' to `gdb_byte *'. + (lm_base): Change base type of `buf' from `char' to `gdb_byte'. + (enable_break2): Change type of `buf' from `char *' to `gdb_byte *'. + Change base type of `addr_buf' from `char' to `gdb_byte'. + (find_canonical_descriptor_in_load_object): Change base type of `buf' + from `char' to `gdb_byte'. + 2005-11-07 Paul Gilliam segs[seg].addr - = extract_unsigned_integer (&ext_ldmbuf->segs[seg].addr, + = extract_unsigned_integer (ext_ldmbuf->segs[seg].addr, sizeof (ext_ldmbuf->segs[seg].addr)); int_ldmbuf->segs[seg].p_vaddr - = extract_unsigned_integer (&ext_ldmbuf->segs[seg].p_vaddr, + = extract_unsigned_integer (ext_ldmbuf->segs[seg].p_vaddr, sizeof (ext_ldmbuf->segs[seg].p_vaddr)); int_ldmbuf->segs[seg].p_memsz - = extract_unsigned_integer (&ext_ldmbuf->segs[seg].p_memsz, + = extract_unsigned_integer (ext_ldmbuf->segs[seg].p_memsz, sizeof (ext_ldmbuf->segs[seg].p_memsz)); } @@ -171,7 +171,7 @@ fetch_loadmap (CORE_ADDR ldmaddr) /* External link_map and elf32_fdpic_loadaddr struct definitions. */ -typedef unsigned char ext_ptr[4]; +typedef gdb_byte ext_ptr[4]; struct ext_elf32_fdpic_loadaddr { @@ -359,7 +359,7 @@ lm_base (void) { struct minimal_symbol *got_sym; CORE_ADDR addr; - char buf[FRV_PTR_SIZE]; + gdb_byte buf[FRV_PTR_SIZE]; /* If we already have a cached value, return it. */ if (lm_base_cache) @@ -438,14 +438,14 @@ frv_current_sos (void) "current_sos: reading link_map entry at %s\n", hex_string_custom (lm_addr, 8)); - if (target_read_memory (lm_addr, (char *) &lm_buf, sizeof (lm_buf)) != 0) + if (target_read_memory (lm_addr, (gdb_byte *) &lm_buf, sizeof (lm_buf)) != 0) { warning (_("frv_current_sos: Unable to read link map entry. Shared object chain may be incomplete.")); break; } got_addr - = extract_unsigned_integer (&lm_buf.l_addr.got_value, + = extract_unsigned_integer (lm_buf.l_addr.got_value, sizeof (lm_buf.l_addr.got_value)); /* If the got_addr is the same as mgotr, then we're looking at the entry for the main executable. By convention, we don't include @@ -459,7 +459,7 @@ frv_current_sos (void) CORE_ADDR addr; /* Fetch the load map address. */ - addr = extract_unsigned_integer (&lm_buf.l_addr.map, + addr = extract_unsigned_integer (lm_buf.l_addr.map, sizeof lm_buf.l_addr.map); loadmap = fetch_loadmap (addr); if (loadmap == NULL) @@ -474,7 +474,7 @@ frv_current_sos (void) sop->lm_info->got_value = got_addr; sop->lm_info->lm_addr = lm_addr; /* Fetch the name. */ - addr = extract_unsigned_integer (&lm_buf.l_name, + addr = extract_unsigned_integer (lm_buf.l_name, sizeof (lm_buf.l_name)); target_read_string (addr, &name_buf, SO_NAME_MAX_PATH_SIZE - 1, &errcode); @@ -502,7 +502,7 @@ frv_current_sos (void) main_lm_addr = lm_addr; } - lm_addr = extract_unsigned_integer (&lm_buf.l_next, sizeof (lm_buf.l_next)); + lm_addr = extract_unsigned_integer (lm_buf.l_next, sizeof (lm_buf.l_next)); } enable_break2 (); @@ -621,13 +621,13 @@ enable_break2 (void) if (interp_sect) { unsigned int interp_sect_size; - char *buf; + gdb_byte *buf; bfd *tmp_bfd = NULL; int tmp_fd = -1; char *tmp_pathname = NULL; int status; CORE_ADDR addr, interp_loadmap_addr; - char addr_buf[FRV_PTR_SIZE]; + gdb_byte addr_buf[FRV_PTR_SIZE]; struct int_elf32_fdpic_loadmap *ldm; /* Read the contents of the .interp section into a local buffer; @@ -1185,7 +1185,7 @@ find_canonical_descriptor_in_load_object if ((name == 0 || strcmp (name, (*rel->sym_ptr_ptr)->name) == 0) && rel->howto->type == R_FRV_FUNCDESC) { - char buf[FRV_PTR_SIZE]; + gdb_byte buf [FRV_PTR_SIZE]; /* Compute address of address of candidate descriptor. */ addr = rel->address + displacement_from_map (lm->map, rel->address); -- 2.7.4