projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gdb/features: remove rx.xml from XMLTOC list
[deliverable/binutils-gdb.git]
/
sim
/
rl78
/
load.c
diff --git
a/sim/rl78/load.c
b/sim/rl78/load.c
index 66d00d3a6caa5a24aeaf9682c92a99ca709aac8a..1776f488d5a6a1ab7332639581406c267513fa76 100644
(file)
--- a/
sim/rl78/load.c
+++ b/
sim/rl78/load.c
@@
-1,6
+1,6
@@
/* load.c --- loading object files into the RL78 simulator.
/* load.c --- loading object files into the RL78 simulator.
- Copyright (C) 2005-20
15
Free Software Foundation, Inc.
+ Copyright (C) 2005-20
20
Free Software Foundation, Inc.
Contributed by Red Hat, Inc.
This file is part of the GNU simulators.
Contributed by Red Hat, Inc.
This file is part of the GNU simulators.
@@
-29,7
+29,6
@@
#include "bfd.h"
#include "elf-bfd.h"
#include "elf/rl78.h"
#include "bfd.h"
#include "elf-bfd.h"
#include "elf/rl78.h"
-#include "libbfd.h"
#include "cpu.h"
#include "mem.h"
#include "load.h"
#include "cpu.h"
#include "mem.h"
#include "load.h"
@@
-57,7
+56,7
@@
find_section_name_by_offset (bfd *abfd, file_ptr filepos)
for (s = abfd->sections; s; s = s->next)
if (s->filepos == filepos)
for (s = abfd->sections; s; s = s->next)
if (s->filepos == filepos)
- return bfd_
get_section_name (abfd,
s);
+ return bfd_
section_name (
s);
return "(unknown)";
}
return "(unknown)";
}
@@
-92,13
+91,26
@@
rl78_load (bfd *prog, host_callback *callbacks, const char * const simname)
return;
}
return;
}
- rl78_g10_mode = 0;
switch (elf_elfheader (prog)->e_flags & E_FLAG_RL78_CPU_MASK)
{
switch (elf_elfheader (prog)->e_flags & E_FLAG_RL78_CPU_MASK)
{
- case E_FLAG_RL78_G10: rl78_g10_mode = 1; break;
- case E_FLAG_RL78_G13: g13_multiply = 1; break;
+ case E_FLAG_RL78_G10:
+ rl78_g10_mode = 1;
+ g13_multiply = 0;
+ g14_multiply = 0;
+ mem_set_mirror (0, 0xf8000, 4096);
+ break;
+ case E_FLAG_RL78_G13:
+ rl78_g10_mode = 0;
+ g13_multiply = 1;
+ g14_multiply = 0;
+ break;
case E_FLAG_RL78_G14:
case E_FLAG_RL78_G14:
+ rl78_g10_mode = 0;
+ g13_multiply = 0;
+ g14_multiply = 1;
+ break;
default:
default:
+ /* Keep whatever was manually specified. */
break;
}
break;
}
@@
-127,13
+139,13
@@
rl78_load (bfd *prog, host_callback *callbacks, const char * const simname)
buf = xmalloc (size);
offset = p->p_offset;
buf = xmalloc (size);
offset = p->p_offset;
- if (
prog->iovec->b
seek (prog, offset, SEEK_SET) != 0)
+ if (
bfd_
seek (prog, offset, SEEK_SET) != 0)
{
fprintf (stderr, "%s, Failed to seek to offset %lx\n", simname, (long) offset);
continue;
}
{
fprintf (stderr, "%s, Failed to seek to offset %lx\n", simname, (long) offset);
continue;
}
- if (
prog->iovec->bread (prog, buf, size
) != size)
+ if (
bfd_bread (buf, size, prog
) != size)
{
fprintf (stderr, "%s: Failed to read %lx bytes\n", simname, size);
continue;
{
fprintf (stderr, "%s: Failed to read %lx bytes\n", simname, size);
continue;
This page took
0.03191 seconds
and
4
git commands to generate.