Michael Meissner [Mon, 9 Sep 1996 21:12:46 +0000 (21:12 +0000)]
Addi needs to set the carry
Michael Meissner [Mon, 9 Sep 1996 20:45:33 +0000 (20:45 +0000)]
Fix ld2w tracing
Michael Meissner [Mon, 9 Sep 1996 20:10:31 +0000 (20:10 +0000)]
Correct tracing of cpfg
David Edelsohn [Mon, 9 Sep 1996 19:37:47 +0000 (19:37 +0000)]
* config.bfd,configure.in,configure: Add m32r support.
David Edelsohn [Mon, 9 Sep 1996 19:32:40 +0000 (19:32 +0000)]
* config.bfd: Keep target list alphabetically sorted.
David Edelsohn [Mon, 9 Sep 1996 19:23:41 +0000 (19:23 +0000)]
* config.sub, configure.in: Add entries for m32r.
Ian Lance Taylor [Mon, 9 Sep 1996 18:37:54 +0000 (18:37 +0000)]
* gas/mips/mips4.s, gas/mips/mips4.d: Use $fccN for condition code
registers.
Ian Lance Taylor [Mon, 9 Sep 1996 18:37:10 +0000 (18:37 +0000)]
* config/tc-mips.c (append_insn): Don't swap an instruction which
sets a condition code with an instruction which uses a condition
code.
(mips_ip): In cases 'N' and 'M', look for $fccN rather than an
immediate value.
Ian Lance Taylor [Mon, 9 Sep 1996 18:27:10 +0000 (18:27 +0000)]
* mips-dis.c (print_insn_arg): Print condition code registers as
$fccN.
Michael Meissner [Mon, 9 Sep 1996 18:24:18 +0000 (18:24 +0000)]
Make ex{f,t}* tests agree with book
Jeff Law [Mon, 9 Sep 1996 17:49:30 +0000 (17:49 +0000)]
* elf32-v850.c (bfd_elf32_v850_reloc, case R_V850_HI16): Don't forget
to add in the constant part found in the instruction itself.
(case R_V850_HI16_S): Likewise.
Fixes plumhall/lang.exp failures.
Michael Meissner [Mon, 9 Sep 1996 17:30:36 +0000 (17:30 +0000)]
Fix accumulator shifts
Ian Lance Taylor [Mon, 9 Sep 1996 15:04:59 +0000 (15:04 +0000)]
* config/tc-mips.c (md_begin): Recognize r5000 for cpu. If
mips_cpu is 5000, set interlocks and cop_interlocks.
(mips_ip): Give a better error message if the ISA level is wrong.
(md_parse_option): Recognize -mcpu=[v][r]5000.
Fred Fish [Mon, 9 Sep 1996 03:14:35 +0000 (03:14 +0000)]
* alpha-nat.c (fetch_core_registers): Match Sep 4 gdbcore.h prototype
change for core_read_registers in struct core_fns.
* core-regset.c (fetch_core_registers): Ditto & add prototype.
* core-sol2.c (fetch_core_registers): Ditto & add prototype.
* i386aix-nat.c (fetch_core_registers): Ditto & add prototype.
* i386b-nat.c (fetch_core_registers): Ditto.
* i386mach-nat.c (fetch_core_registers): Ditto & add prototype.
* irix4-nat.c (fetch_core_registers): Ditto.
* irix5-nat.c (fetch_core_registers): Ditto.
* lynx-nat.c (fetch_core_registers): Ditto & add prototype.
* m68knbsd-nat.c (fetch_core_registers): Ditto.
* mips-nat.c (fetch_core_registers): Ditto & add prototype.
* rs6000-nat.c (fetch_core_registers): Ditto.
* sparc-nat.c (fetch_core_registers): Ditto.
* sun3-nat.c (fetch_core_registers): Ditto & add prototype.
* ultra3-nat.c (fetch_core_registers): Ditto & add prototype.
* alpha-nat.c (register_addr): Match Sep 4 gdbcore.h prototype change.
* delta68-nat.c (register_addr): Ditto.
* gdbserver/low-linux.c (register_addr): Ditto.
* gdbserver/low-hppabsd.c (register_addr): Ditto.
* i386m3-nat.c (register_addr): Ditto.
* mips-nat.c (register_addr): Ditto.
* ultra3-nat.c (register_addr): Ditto.
Fred Fish [Mon, 9 Sep 1996 03:01:49 +0000 (03:01 +0000)]
* alpha-nat.c (fetch_core_registers): Match Sep 4 gdbcore.h prototype
change for core_read_registers in struct core_fns.
* core-regset.c (fetch_core_registers): Ditto & add prototype.
* core-sol2.c (fetch_core_registers): Ditto & add prototype.
* i386aix-nat.c (fetch_core_registers): Ditto & add prototype.
* i386b-nat.c (fetch_core_registers): Ditto.
* i386mach-nat.c (fetch_core_registers): Ditto & add prototype.
* irix4-nat.c (fetch_core_registers): Ditto.
* irix5-nat.c (fetch_core_registers): Ditto.
* lynx-nat.c (fetch_core_registers): Ditto & add prototype.
* m68knbsd-nat.c (fetch_core_registers): Ditto.
* mips-nat.c (fetch_core_registers): Ditto & add prototype.
* rs6000-nat.c (fetch_core_registers): Ditto.
* sparc-nat.c (fetch_core_registers): Ditto.
* sun3-nat.c (fetch_core_registers): Ditto & add prototype.
* ultra3-nat.c (fetch_core_registers): Ditto & add prototype.
* alpha-nat.c (register_addr): Match Sep 4 gdbcore.h prototype change.
* delta68-nat.c (register_addr): Ditto.
* gdbserver/low-linux.c (register_addr): Ditto.
* gdbserver/low-hppabsd.c (register_addr): Ditto.
* i386m3-nat.c (register_addr): Ditto.
* mips-nat.c (register_addr): Ditto.
* ultra3-nat.c (register_addr): Ditto.
Stu Grossman [Sun, 8 Sep 1996 23:35:50 +0000 (23:35 +0000)]
* erc32.c (port_init): Disable this for __GO32__ (got no pty's
there either...).
Stu Grossman [Sun, 8 Sep 1996 23:33:23 +0000 (23:33 +0000)]
* blockframe.c (inside_main_func): Cleanup slightly. Move
mainsym def into the block it's used in.
* configure.in configure: Allow NATDEPFILES to be recognized in
.mh files regardless of whitespace.
* cpu32bug-rom.c (cpu32bug_cmds): Change load_response string to
keep downloads from hanging.
* remote-wiggler.c: Add support for flash upgrades.
* (wiggler_error): Fix message format. Add new error code.
* (wiggler_write_byets): Error code is hex. Report errors with
proper routine name.
* (wiggler_read_byets): Report errors with proper routine name.
* (get_packet): Add support for new flash commands.
* (wiggler_load): Call clear_symtab_users() to reset things
properly after download.
* (flash_xfer_memory bdm_update_flash_command): New funxtions to
support flash upgrades for Wiggler.
* (_initialize_remote_wiggler): Add `bdm update-flash' command.
Ian Lance Taylor [Sun, 8 Sep 1996 21:24:10 +0000 (21:24 +0000)]
* configure.in: Do build erc32 for DOS and Windows hosts.
* configure: Rebuild.
Jackie Smith Cashion [Sat, 7 Sep 1996 12:45:19 +0000 (12:45 +0000)]
Sat Sep 7 13:25:55 1996 James G. Smith <jsmith@cygnus.co.uk>
* config/tc-mips.c (COUNT_TOP_ZEROES): Added macro to count
leading zeroes.
(load_register): Ensure hi32 bits are not lost during lo32bit
processing. Fix shift offset that was overflowing into the next
instruction field. Add code to generate shorter sequences for
constants with a single contiguous seqeuence of ones.
Fri Sep 6 18:23:54 1996 James G. Smith <jsmith@cygnus.co.uk>
* gas/mips/dli.{s,d}: More test cases added.
NOTE: The COUNT_TOP_ZEROES macro is a bit bulky, and the same result
can be achieved by using a "standard" ffs() routine:
count = ffs(~v);
count = count == 0 ? 0 : 33 - count;
However the following timings (VR4300 CPU clock ticks on a CMA101
board) show the performance gain.
Number of ffs() for loop if/then/else conditional
leading ?:
zeroes
-------------------------------------------------------------------------------
0 167 179 266 251
1 1718 283 263 259
2 1670 379 287 295
3 1622 475 311 311
4 1574 571 295 287
5 1534 667 311 319
6 1478 763 307 299
7 1430 859 323 323
8 1382 962 287 295
9 1334 1051 319 311
10 1286 1154 299 307
11 1238 1250 323 331
12 1183 1346 299 307
13 1135 1442 331 323
14 1087 1546 311 319
15 1039 1642 335 343
16 991 1730 295 287
17 950 1834 311 319
18 895 1922 307 299
19 847 2026 331 323
20 799 2122 307 299
21 751 2218 323 323
22 703 2314 311 311
23 655 2417 343 335
24 599 2506 307 299
25 559 2602 331 331
26 511 2705 311 319
27 463 2801 343 335
28 407 2897 311 319
29 367 2993 343 335
30 311 3097 323 331
31 271 3185 355 355
32 215 3233 379 371
Martin Hunt [Sat, 7 Sep 1996 00:58:25 +0000 (00:58 +0000)]
Fri Sep 6 17:56:17 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* simops.c (OP_2600, OP_2601): Changed min and max comparisons
to use signed register values.
Martin Hunt [Sat, 7 Sep 1996 00:12:56 +0000 (00:12 +0000)]
Fri Sep 6 17:07:12 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (d10v_dot_word): New function to support
"@word" with the word pseudo-op.
(md_apply_fix3): Cleanup and changes to support correct sizes
for 16 and 18-bit relocs.
Martin Hunt [Sat, 7 Sep 1996 00:06:53 +0000 (00:06 +0000)]
Fri Sep 6 17:04:39 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* elf32-d10v.c (elf_d10v_howto_table): Modify the size of R_D10V_16
and R_D10V_18 to be 1 (word).
David Edelsohn [Fri, 6 Sep 1996 23:05:12 +0000 (23:05 +0000)]
* configure.in (sparc-*-aout): Set `em'.
* configure: Regenerated.
* config/te-sparcaout.h: New file.
* config/tc-sparc.h (TARGET_BYTES_BIG_ENDIAN): Define.
Ifdef TE_SPARCOUT define TARGET_FORMAT and SPARC_BIENDIAN.
* config/tc-sparc.c (INSN_BIG_ENDIAN): New macro.
(SPECIAL_CASE_{SETSW,SETX}): Define.
({NOP,OR,FMOVS,SETHI,SLLX,SRA}_INSN): Define.
(md_begin): Delete setting of `target_big_endian'.
(output_insn): New function.
(md_assemble): Rewrite. Add `setx' support.
(sparc_ip): Handle `0' operand char. Recognize setuw, setsw, setx
special cases.
(md_atof): Add little endian support.
(md_number_to_chars): Likewise.
(md_apply_fix): Likewise.
(md_longopts): Recognize -EL,-EB ifdef SPARC_BIENDIAN.
(md_parse_option): Likewise.
(md_show_usage): Print -EL, -EB ifdef SPARC_BIENDIAN.
Geoffrey Noer [Fri, 6 Sep 1996 22:13:06 +0000 (22:13 +0000)]
restore the space that need to be present
Geoffrey Noer [Fri, 6 Sep 1996 20:17:26 +0000 (20:17 +0000)]
Don't include netinet/tcp.h in ser-tcp.c if __CYGWIN32__ defined
Geoffrey Noer [Fri, 6 Sep 1996 00:08:07 +0000 (00:08 +0000)]
build ser-tcp.o for cygwin32 hosted gdb
Tom Tromey [Thu, 5 Sep 1996 20:11:14 +0000 (20:11 +0000)]
* Makefile.in (inet-install): Don't run install-gzip.
Ian Lance Taylor [Thu, 5 Sep 1996 19:26:12 +0000 (19:26 +0000)]
* ldlang.c (section_already_linked): Accept a lang_input_statement
as the PTR argument. If the file is symbols only, discard all
input sections.
(ldlang_add_file): Pass entry to bfd_map_over_sections.
PR 10555.
Ian Lance Taylor [Thu, 5 Sep 1996 19:24:08 +0000 (19:24 +0000)]
* stabs.c (_bfd_link_section_stabs): If the output_section field
of either section is bfd_abs_section, then the linker is
discarding the section and we should not optimize it.
PR 10555.
Per Bothner [Thu, 5 Sep 1996 19:11:36 +0000 (19:11 +0000)]
* value.h (COERCE_REF): Fix previous change.
(COERCE_ENUM): Add a check_typedef (this is the real fix).
This re-fixes pr-9946.
Ian Lance Taylor [Thu, 5 Sep 1996 17:43:06 +0000 (17:43 +0000)]
* ecoff.c (ecoff_new_file): New function.
* ecoff.h (ecoff_new_file): Declare.
* config/obj-ecoff.h (obj_app_file): Define.
PR 10548.
Wilfried Moser [Thu, 5 Sep 1996 10:32:09 +0000 (10:32 +0000)]
* eval.c (evaluate_subexp_standard): In case of OP_ARRAY: make a
better check of array boundaries.
Wilfried Moser [Thu, 5 Sep 1996 08:55:32 +0000 (08:55 +0000)]
* gch1280.exp: Enhance test case.
Stu Grossman [Thu, 5 Sep 1996 08:33:28 +0000 (08:33 +0000)]
* configure: Update aclocal.m4 and re-run autoconf to get correct
defs for BFD stuff.
* remote-wiggler.c (wiggler_error): Error codes are hex. Also,
fix default message generation.
Stu Grossman [Thu, 5 Sep 1996 01:18:49 +0000 (01:18 +0000)]
Oops!
Stu Grossman [Thu, 5 Sep 1996 01:17:19 +0000 (01:17 +0000)]
Add remote-wiggler.c.
Stu Grossman [Thu, 5 Sep 1996 01:16:22 +0000 (01:16 +0000)]
* Makefile.in erc32/Makefile.in: Don't set srcroot. This should
be inherited from the parent. Remove INSTALL_XFORM and
INSTALL_XFORM1. Make INSTALL be set from configure.
Stu Grossman [Thu, 5 Sep 1996 01:07:37 +0000 (01:07 +0000)]
* rldefs.h: Enable HANDLE_SIGNALS for cygwin32.
Stu Grossman [Thu, 5 Sep 1996 01:06:10 +0000 (01:06 +0000)]
* configure configure.in: Don't default CC to cc. It causes problems
when starting a compile in the mmalloc directory.
Stu Grossman [Thu, 5 Sep 1996 01:01:05 +0000 (01:01 +0000)]
* Makefile.in: Add mswin to SUBDIRS. Add rules for
mswin/libwingdb.a and remote-wiggler.o.
* breakpoint.c (breakpoint_here_p): Clean up bp enabled test.
* (breakpoint_inserted_here_p): New func, just like
breakpoint_here_p, except it's honest. Honestly.
* breakpoint.h: Proto for above.
start-sanitize-gdbtk
* configure configure.in: Add host *windows* to list of hosts
that don't support GDBtk.
end-sanitize-gdbtk
* configure configure.in: Add mswin to configdirs if host is
i[3456]86-*-windows.
* core-aout.c (fetch_core_registers register_addr) gdbcore.h:
Change all vars that can contain addresses to type CORE_ADDR.
* findvar.c (supply_register): Allow val to be NULL. This means
that regno is unsupported.
* (read_pc read_pc_pid write_pc write_pc_pid): Make non-pid forms
just call pid forms with inferior_pid so that there's only once
place to hack PC's and such.
* infrun.c (proceed): Don't skip breakpoints if user changed PC.
* remote-wiggler.c: New file. Support for BDM interface from
Macraigor Systems.
* serial.c: Enhance serial logging capability. Add hex and octal
output modes (set remotelogbase {hex|octal|ascii}. Also log
breaks, timeouts, errors, and eofs.
* serial.h: Redefine SERIAL_SEND_BREAK to go through a wrapper
function so that we can log breaks. Don't export serial_logfile
or serial_logfp.
* top.c (execute_command): Don't test for serial_logfp here.
Just call serial_log_comand, and let serial.c sort it out.
* valops.c (value_of_variable): Don't attempt to establish frames
for static and global variables. This makes things work a bit
better if the stack or frame pointer is trashed.
* config/m68k/monitor.mt (TDEPFILES): Add remote-wiggler.o.
* config/m68k/tm-m68k.h: Define STACK_ALIGN. CPU32 can't hack
misaligned stacks during function calls.
Stu Grossman [Thu, 5 Sep 1996 00:28:10 +0000 (00:28 +0000)]
* configure.in: Don't config lots of things for *-*-windows*.
Ian Lance Taylor [Wed, 4 Sep 1996 19:54:48 +0000 (19:54 +0000)]
* configure.tgt (alpha-*-gnu*): New target. From Fila Kolodny
<fila@ibi.com>.
Ian Lance Taylor [Wed, 4 Sep 1996 19:50:55 +0000 (19:50 +0000)]
* configure.in: Only build the MIPS simulator if we are using
gcc.
* configure: Rebuild.
Michael Meissner [Wed, 4 Sep 1996 19:11:53 +0000 (19:11 +0000)]
Second pass at canadian cross
Michael Meissner [Wed, 4 Sep 1996 18:50:13 +0000 (18:50 +0000)]
First cut at dealing with canadian crosses; make -t in debugger set d10v_debug if DEBUG
Michael Meissner [Wed, 4 Sep 1996 17:42:51 +0000 (17:42 +0000)]
More debug support; Enable -t/-v to work correctly; Add --enable-sim-cflags configure switch
Ian Lance Taylor [Wed, 4 Sep 1996 17:09:43 +0000 (17:09 +0000)]
* terminal.h: Don't use #elif.
Michael Meissner [Wed, 4 Sep 1996 15:41:43 +0000 (15:41 +0000)]
Enhance debug support
Wilfried Moser [Wed, 4 Sep 1996 14:34:15 +0000 (14:34 +0000)]
* gch1272.{ch,exp}, gch1280.{ch,exp}, pr-9946.{ch,exp}:
New test cases.
Wilfried Moser [Wed, 4 Sep 1996 14:29:37 +0000 (14:29 +0000)]
* ch-exp.c (parse_tuple_element): Allow (*): for array tuples
if we have a type.
* eval.c (evaluate_subexp_standard): In case of OP_ARRAY:
check number of args against bounds of array to avoid
memory corruption.
* value.h (COERCE_REF): Do a CHECK_TYPEDEF in case we get
a TYPE_CODE_TYPEDEF.
Ian Lance Taylor [Wed, 4 Sep 1996 14:26:20 +0000 (14:26 +0000)]
* config/tc-mips.c (load_register): Remove unused variable tmp.
Jackie Smith Cashion [Wed, 4 Sep 1996 13:15:28 +0000 (13:15 +0000)]
Wed Sep 4 11:24:29 1996 James G. Smith <jsmith@cygnus.co.uk>
* config/tc-mips.c (load_register): Remove unnecessary code that
was causing the high 32bits of 64bit constants to be lost.
Fixes PR10503. The compiler was producing the assembler code:
dli $3,0xfffffffffffff
when constructing the softfloat library. Unfortunately it was being
incorrectly assembled.
Mark Alexander [Wed, 4 Sep 1996 11:51:06 +0000 (11:51 +0000)]
* simops.c: Include correct syscall.h for d10v, not host's.
Fix #ifdef SYS_stat.
Jeff Law [Wed, 4 Sep 1996 03:03:53 +0000 (03:03 +0000)]
* elf32-v850.c (bfd_elf32_v850_reloc): Fix handling of
low order sign bit propogationfor R_V850_HI16_S.
Fixes c-torture execute/950221-1.c, maybe others.
David Edelsohn [Tue, 3 Sep 1996 19:52:15 +0000 (19:52 +0000)]
* Makefile.in (aout-sparcle.o): New target.
* aoutf1.h (TARGET_IS_BIG_ENDIAN_P): Don't define if little endian.
* config.bfd (sparclet-*-aout*): Add case.
* configure.in (sparcle_aout_vec): Add case.
* configure: Regenerated.
* libaout.h (machine_type): Add M_SPARCLET_LE.
* targets.c (sparcle_aout_vec): Declare.
(bfd_target_vector): Add sparcle_aout_vec.
* aout-sparcle.c: New file.
Jeff Law [Tue, 3 Sep 1996 18:31:48 +0000 (18:31 +0000)]
* gencode.c: Fix various indention & style problems.
Remove test code. Remove #if 0 code.
* interp.c: Provide prototypes for all static functions.
Fix minor indention problems.
(sim_open, sim_resume): Remove unused variables.
(sim_read): Return type is "int".
* simops.c: Remove unused variables.
(divh): Make result of divide-by-zero zero.
(setf): Initialize result to keep compiler quiet.
(sar instructions): These just clear the overflow bit.
* v850_sim.h: Provide prototypes for put_byte, put_half
and put_word.
Cleaning up.
Jeff Law [Tue, 3 Sep 1996 18:05:25 +0000 (18:05 +0000)]
* v850-dis.c (disassemble): Make static. Provide prototype.
Michael Meissner [Tue, 3 Sep 1996 18:01:03 +0000 (18:01 +0000)]
Portability fixes; re-add printf/putchar traps
Jeff Law [Tue, 3 Sep 1996 17:59:16 +0000 (17:59 +0000)]
* config/tc-v850.c: Remove commented out and #if 0'd code.
(v850_reloc_prefix): Provide prototype.
(postfix, get_reloc, build_insn): Remove prototypes for nonexistant
functions.
(md_begin, md_assemble, md_apply_fix3): Remove unused variables.
(md_assemble): Add default to case statement.
Minor cleanups.
Jeff Law [Tue, 3 Sep 1996 17:15:16 +0000 (17:15 +0000)]
Fix typpppo
Jeff Law [Tue, 3 Sep 1996 16:25:51 +0000 (16:25 +0000)]
* interp.c: OP should be an array of 32bit operands!
(v850_callback): Declare.
(do_format_5): Fix extraction of OP[0].
(sim_size): Remove debugging printf.
(sim_set_callbacks): Do something useful.
(sim_stop_reason): Gross hacks to get c-torture running.
* simops.c: Simplify code for computing targets of bCC
insns. Invert 's' bit if 'ov' bit is set for some
instructions. Fix 'cy' bit handling for numerous
instructions. Make the simulator stop when a halt
instruction is encountered. Very crude support for
emulated syscalls (trap 0).
* v850_sim.h: Include "callback.h" and declare
v850_callback. Items in the operand array are 32bits.
Fixes & syscall stuff.
Jeff Law [Tue, 3 Sep 1996 08:14:53 +0000 (08:14 +0000)]
* elf32-v850.c (bfd_elf3_v850_reloc): New function for
handling V850 specific relocs.
(elf_v850_howto_table): Use the new function for some
relocations. Twiddle masks & shifts for some relocs.
Set partial_inplace where needed.
Fixing more stuff.
Mark Alexander [Mon, 2 Sep 1996 23:23:11 +0000 (23:23 +0000)]
Remove reloc.c from v850_files.
Ian Lance Taylor [Mon, 2 Sep 1996 16:41:29 +0000 (16:41 +0000)]
whoops--typo
Ian Lance Taylor [Mon, 2 Sep 1996 16:41:28 +0000 (16:41 +0000)]
file was really removed a long time ago
Mark Alexander [Sun, 1 Sep 1996 22:25:50 +0000 (22:25 +0000)]
* .Sanitize: Remove reloc.c from v850_files.
Ian Lance Taylor [Sun, 1 Sep 1996 19:44:40 +0000 (19:44 +0000)]
* rs6000-core.c (rs6000coff_core_file_matches_executable_p):
Rewrite to use BFD file read routines and to avoid using a fixed
length for the file name.
Jeff Law [Sat, 31 Aug 1996 22:04:08 +0000 (22:04 +0000)]
* config/tc-v850.c (md_assemble): Compute size of the instrction
from the opcode.
Jeff Law [Sat, 31 Aug 1996 22:00:45 +0000 (22:00 +0000)]
* v850-dis.c (disassemble): Handle insertion of ',', '[' and
']' characters into the output stream.
* v850-opc.c (v850_opcodes: Remove size field from all opcodes.
Add "memop" field to all opcodes (for the disassembler).
Reorder opcodes so that "nop" comes before "mov" and "jr"
comes before "jarl".
Should give us a functional disassembler.
Jeff Law [Sat, 31 Aug 1996 21:21:27 +0000 (21:21 +0000)]
* v850-dis.c (print_insn_v850): Properly handle disassembling
a two byte insn at the end of a memory region when the memory
region's size is only two byte aligned.
Jeff Law [Sat, 31 Aug 1996 21:10:43 +0000 (21:10 +0000)]
* v850-dis.c (v850_cc_names): Fix stupid thinkos.
Jeff Law [Sat, 31 Aug 1996 20:56:05 +0000 (20:56 +0000)]
* v850-dis.c (v850_reg_names): Define.
(v850_sreg_names, v850_cc_names): Likewise.
(disassemble): Very rough cut at printing operands (unformatted).
One step at a time.
* v850-opc.c (BOP_MASK): Fix.
(v850_opcodes): Fix mask for jarl and jr.
Bugs exposed by disassembler testing.
Jeff Law [Sat, 31 Aug 1996 19:26:47 +0000 (19:26 +0000)]
* dis-asm.h (print_insn_v850): Declare.
Jeff Law [Sat, 31 Aug 1996 19:22:11 +0000 (19:22 +0000)]
* v850-dis.c: New file. Skeleton for disassembler support.
* Makefile.in Remove v850 references, they're not needed here
and they weren't being sanitized away.
* configure.in: Add v850-dis.o when building v850 toolchains.
* configure: Rebuilt.
* disassemble.c (disassembler): Call v850 disassembler.
Jeff Law [Sat, 31 Aug 1996 19:20:28 +0000 (19:20 +0000)]
* v850-dis.c: New file. Skeleton for disassembler support.
* Makefile.in Remove v850 references, they're not needed here
and they weren't being sanitized away.
* configure.in: Add v850-dis.o when building v850 toolchains.
* configure: Rebuilt.
* disassemble.c (disassembler): Call v850 disassembler.
Skeleton support for V850 disassembler.
Jeff Law [Sat, 31 Aug 1996 18:36:19 +0000 (18:36 +0000)]
* config/tc-v850.c (md_apply_fix3): Do simple byte, short and
word fixups too.
Fixes "difference between forward references".
Jeff Law [Sat, 31 Aug 1996 18:23:02 +0000 (18:23 +0000)]
* v850-opc.c (insert_d8_7, extract_d8_7): New functions.
(insert_d8_6, extract_d8_6): New functions.
(v850_operands): Rename D7S to D7; operand for D7 is unsigned.
Rename D8 to D8_7, use {insert,extract}_d8_7 routines.
Add D8_6.
(IF4A, IF4B): Use "D7" instead of "D7S".
(IF4C, IF4D): Use "D8_7" instead of "D8".
(IF4E, IF4F): New. Use "D8_6".
(v850_opcodes): Use IF4A/IF4B for sld.b/sst.b. Use IF4C/IF4D for
sld.h/sst.h. Use IF4E/IF4F for sld.w/sst.w.
So we can assemble sst/sld instructions correctly.
Jeff Law [Sat, 31 Aug 1996 17:43:28 +0000 (17:43 +0000)]
* v850-opc.c (insert_d16_15, extract_d16_15): New functions.
(v850_operands): Change D16 to D16_15, use special insert/extract
routines. New new D16 that uses the generic insert/extract code.
(IF7A, IF7B): Use D16_15.
(IF7C, IF7D): New. Use D16.
(v850_opcodes): Use IF7C and IF7D for ld.b and st.b.
Jeff Law [Sat, 31 Aug 1996 17:23:49 +0000 (17:23 +0000)]
* v850-opc.c (insert_d9, insert_d22): Slightly improve error
message. Issue an error if the branch offset is odd.
Jeff Law [Sat, 31 Aug 1996 16:24:18 +0000 (16:24 +0000)]
* elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}.
(elf_v850_howto_table): Add support for R_V850_{32,16,8}.
(v850_reloc_map): Add translation from BFD_RELOC_{32,16,8}
to R_V850_{32,16,8}.
So we don't get "reloc XXX not supported" messages anymore.
Jeff Law [Sat, 31 Aug 1996 07:32:01 +0000 (07:32 +0000)]
* v850-opc.c: Add notes about needing special insert/extract
for all the load/store insns, except "ld.b" and "st.b".
So we don't forget!
Jeff Law [Sat, 31 Aug 1996 07:28:22 +0000 (07:28 +0000)]
* v850-opc.c (insert_d22, extract_d22): New functions.
(v850_operands): Use insert_d22 and extract_d22 for
D22 operands.
(insert_d9): Fix range check.
Jeff Law [Sat, 31 Aug 1996 07:26:35 +0000 (07:26 +0000)]
* gas/v850/basic.exp (do_branch): Check offsets in branch insns.
(do_jumps): Likewise.
Now that we can resolve known branch targets.
Jeff Law [Sat, 31 Aug 1996 05:52:38 +0000 (05:52 +0000)]
* config/tc-v850.c (md_apply_fix3): Use little endian get/put
routines to fetch/store the updated instruction from/to memory.
(v850_insert_operand): If the operand has a specialized insert
routine, call it.
Getting fixups closer. At least br <target> works now.
Jeff Law [Sat, 31 Aug 1996 04:31:18 +0000 (04:31 +0000)]
* emulparms/v850.sh: Entry symbol is "_start", tweak
ctor/dtor support.
Jeff Law [Sat, 31 Aug 1996 02:49:05 +0000 (02:49 +0000)]
Opps. Forgot to commit this a few days ago.
J.T. Conklin [Sat, 31 Aug 1996 01:42:46 +0000 (01:42 +0000)]
* config/tc-v850.c (reg_name_search): Align calling convention to
be like identical function found in tc-ppc.c.
(get_reloc): Removed.
(v850_reloc_prefix): New function, parse lo(), hi() and hi0().
(md_assemble): emit fixups.
(md_pcrel_from): renamed from md_pcrel_from_section, emit proper
displacement.
(md_apply_fix3): handle fixups/relocs.
* config/tc-v850.h (MD_PCREL_FROM_SECTION): Removed definition.
J.T. Conklin [Sat, 31 Aug 1996 01:32:13 +0000 (01:32 +0000)]
* elf32-v850.c (reloc_type): Add R_V850_HI16_S.
(elf_v850_howto_table): Add info for HI16_S reloc.
(v850_reloc_map): Add HI_16_S reloc.
* reloc.c: Define BFD_RELOC_V850_* relocs.
J.T. Conklin [Sat, 31 Aug 1996 01:04:39 +0000 (01:04 +0000)]
* v850-opc.c (v850_operands): Add V850_OPERAND_SIGNED flag
and set bits field to D9 and D22 operands.
Ian Lance Taylor [Fri, 30 Aug 1996 22:36:45 +0000 (22:36 +0000)]
* configure.tgt (sh-*-elf*): New target.
* emulparams/shelf.sh: New file.
* emulparams/shlelf.sh: New file.
* Makefile.in (ALL_EMULATIONS): Add eshelf.o and eshlelf.o.
(eshelf.c, eshlelf.c): New targets.
* scripttempl/elf.sc: If EMBEDDED is defined, then don't add
SIZEOF_HEADERS to TEXT_START_ADDR. Expand CTOR_START and CTOR_END
around .ctors, and DTOR_START and DTOR_END around .dtors. Expand
OTHER_RELOCATING_SECTIONS if RELOCATING.
Ian Lance Taylor [Fri, 30 Aug 1996 22:29:42 +0000 (22:29 +0000)]
Add SH ELF support.
* configure.in (sh-*-elf*): New target.
* config/tc-sh.h (TARGET_ARCH): Define.
(WORKING_DOT_WORD): Define.
(TC_COFF_FIX2RTYPE): Only define if OBJ_COFF.
(BFD_ARCH, COFF_MAGIC, TC_COUNT_RELOC): Likewise.
(TC_RELOC_MANGLE, tc_coff_symbol_emit_hook): Likewise.
(DO_NOT_STRIP, NEED_FX_R_TYPE, TC_KEEP_FX_OFFSET): Likewise.
(TC_COFF_SIZEMACHDEP, tc_frob_file): Likewise.
(SUB_SEGMENT_ALIGN): Likewise.
(RELOC_32): Don't define.
(tc_frob_file_before_adjust): Define if BFD_ASSEMBLER.
(target_big_endian): Declare if OBJ_ELF.
(TARGET_FORMAT): Define if OBJ_ELF.
* config/tc-sh.c: Use BFD reloc codes instead of SH COFF reloc
numbers throughout.
(tc_crawl_symbol_chain): Only define if OBJ_COFF.
(tc_headers_hook, tc_coff_sizemachdep): Likewise.
(struct sh_count_relocs): Define.
(sh_count_relocs): New static function, broken out of
sh_frob_file. Add BFD_ASSEMBLER code.
(sh_frob_section): Likewise.
(sh_frob_file): Call sh_frob_section.
(md_convert_frag): If BFD_ASSEMBLER, change type of headers, and
call section_symbol rather than seg_info (seg)->dot.
(md_section_align): Add OBJ_ELF version.
(SWITCH_TABLE_CONS): Define.
(SWITCH_TABLE): Use SWITCH_TABLE_CONS.
(md_apply_fix): Change parameter types if BFD_ASSEMBLER. Only
handle fx_r_type == 0 if not BFD_ASSEMBLER. Return 0 if
BFD_ASSEMBLER.
(struct reloc_map): Define if not BFD_ASSEMBLER.
(coff_reloc_map): Likewise.
(sh_coff_reloc_mangle): Use coff_reloc_map to convert fx_r_type.
(tc_gen_reloc): New function if BFD_ASSEMBLER.
* write.c (write_relocs): Ifdef out fx_where test which triggers
inappropriately for SH ELF.
(write_object_file): Call tc_frob_file_before_adjust and
obj_frob_file_before_adjust if they are defined.
* write.c (write_object_file): Use BFD_RELOC_16, not
BFD_RELOC_NONE, when calling fix_new_exp for a broken word.
Ian Lance Taylor [Fri, 30 Aug 1996 22:09:51 +0000 (22:09 +0000)]
Add SH ELF support.
* elf32-sh.c: New file.
* elf.c (prep_headers): Handle bfd_arch_sh.
* elfcode.h (write_relocs): Handle absolute symbol.
* elf-bfd.h (_bfd_elf32_link_read_relocs): Declare.
(_bfd_elf64_link_read_relocs): Declare.
* elflink.h (NAME(_bfd_elf,link_read_relocs)): Rename from
elf_link_read_relocs. Make globally visible. Change all
callers.
(elf_link_input_bfd): Get external symbols from cache in
symtab_hdr->contents. Get contents from cache in
elf_section_data.
* elfxx-target.h (bfD_elfNN_bfd_relax_section): Only define if not
already defined.
* reloc.c: Define BFD_RELOC_SH_* relocs.
* libbfd-in.h (_bfd_sh_align_load_span): Declare.
* coff-sh.c (sh_insns_conflict): Fix a return value.
(_bfd_sh_align_load_span): New globally visible function, broken
out of sh_align_load.
(sh_align_load): Call _bfd_sh_align_load_span.
(sh_swap_insns): Change relocs parameter to PTR.
* bfd-in2.h, libbfd.h: Rebuild.
* targets.c (bfd_elf32_sh_vec): Declare.
(bfd_elf32_shl_vec): Declare.
* config.bfd (sh-*-elf*): New target.
* configure.in (bfd_elf32_sh_vec): New target vector.
(bfd_elf32_shl_vec): New target vector.
* configure: Rebuild.
* Makefile.in: Rebuild dependencies.
(BFD32_BACKENDS): Add elf32-sh.o.
(BFD32_BACKENDS_CFILES): Add elf32-sh.c.
* elf.c (map_sections_to_segments): Check that LMA does not skip a
page before checking D_PAGED.
Jeff Law [Fri, 30 Aug 1996 21:55:26 +0000 (21:55 +0000)]
* simops.c: Fix "not1" and "set1".
Martin Hunt [Fri, 30 Aug 1996 21:50:52 +0000 (21:50 +0000)]
Fri Aug 30 14:47:38 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
* config/tc-d10v.c (find_opcode): Fix problem with calculating
branch sizes in across sections.
Jeff Law [Fri, 30 Aug 1996 20:15:51 +0000 (20:15 +0000)]
* simops.c: Don't forget to initialize temp for
"ld.h" and "ld.w"
Jeff Law [Fri, 30 Aug 1996 19:59:06 +0000 (19:59 +0000)]
* gas/v850/misc.s: Tweak register numbers for better testing.
* gas/v850/basic.exp (misc_tests): Corresponding changes.
Jeff Law [Fri, 30 Aug 1996 19:44:42 +0000 (19:44 +0000)]
* v850-opc.c (v850_operands): Define SR2 operand.
(v850_opcodes): "ldsr" uses R1,SR2.
ldsr is kinda weird.
Jeff Law [Fri, 30 Aug 1996 16:42:49 +0000 (16:42 +0000)]
* interp.c: Remove various debugging printfs.
Jeff Law [Fri, 30 Aug 1996 16:41:39 +0000 (16:41 +0000)]
* simops.c: Fix satadd, satsub boundary case handling.
Jeff Law [Fri, 30 Aug 1996 16:35:10 +0000 (16:35 +0000)]
* interp.c (hash): Fix.
* interp.c (do_format_8): Get operands correctly and
call the target function.
* simops.c: Rough cut at "clr1", "not1", "set1", and "tst1".