Commit Graph

11 Commits

Author SHA1 Message Date
Jeff Law ec119e1084 Minor improvement to H8 startup code
Basically the startup code needs to clear memory from _edata to _end. In the
past it's been done with a fairly naive copy loop.  This changes the code to
just call memset and let memset figure out a sensible way to handle the
operation given the size and alignment requirements.

I don't have performance data on this.  I cobbled it together some time ago in
response to seeing some of the GCC tests with larger .bss sections taking an
insane amount of time to just get from _start to main.  With the fixes to the
H8 decoder in the simulator it may not matter nearly as much anymore.

This has been in my tester for months.  Naturally it does not cause any
regressions in the H8 port.
2023-12-31 09:08:21 -07:00
Alexandre Oliva 9a6831be86 2003-07-02 Richard Sandiford <rsandifo@redhat.com>
* libc/machine/h8300/Makefile.am (lib_a_SOURCES): Add h8sx_strcpy.S.
* libc/machine/h8300/defines.h (LEN): New macro.
* libc/machine/h8300/memcpy.S: Add h8sx version.
* libc/machine/h8300/memset.S: Likewise.
* libc/machine/h8300/strcmp.S: Likewise.
* libc/machine/h8300/setjmp.S: Use h8sx move instructions.
* libc/machine/h8300/h8sx_strcpy.S: New file.
2003-06-30  Richard Sandiford  <rsandifo@redhat.com>
* libc/include/machine/ieeefp.h: Extend __H8300S__ handling to
__H8300SX__.
* libc/include/machine/setjmp.h: Likewise.
* libc/include/sys/config.h: Likewise.
* libc/machine/h8300/defines.h: Likewise.
* libc/machine/h8300/setjmp.S: Likewise.
* libc/machine/h8300/strcmp.S: Likewise.
* libc/sys/h8300hms/close.S: Likewise.
* libc/sys/h8300hms/fstat.S: Likewise.
* libc/sys/h8300hms/lseek.S: Likewise.
* libc/sys/h8300hms/read.S: Likewise.
* libc/sys/h8300hms/write.S: Likewise.
* libc/sys/h8300hms/crt0.S: Likewise.
* libc/machine/h8300/setarch.h: Use .h8300sx or .h8300sxn if
__H8300SX__ is defined.
* libc/sys/h8300hms/setarch.h: Likewise.
2004-06-22 21:54:52 +00:00
Richard Sandiford 6d7ea52a26 * libc/sys/h8300hms/crt0.S (_start): Fix register sizes in call
to atexit().
2003-06-24 18:13:35 +00:00
Richard Sandiford d9e4104b31 * libc/sys/h8300hms/setarch.h: New file.
* libc/sys/h8300hms/close.S, libc/sys/h8300hms/fstat.S,
	libc/sys/h8300hms/lseek.S, libc/sys/h8300hms/open.S,
	libc/sys/h8300hms/read.S, libc/sys/h8300hms/stat.S,
	libc/sys/h8300hms/write.S, libc/sys/h8300hms/crt0.S: Use it.
2003-06-10 07:44:30 +00:00
Jeff Johnston 82095e79cf 2003-05-28 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
* newlib/libc/machine/h8300/memcpy.S: Use .h8300hn and .h8300sn for
        normal mode
        * newlib/libc/machine/h8300/memset.S: Likewise
        * newlib/lib/machine/h8300/reg_memcpy.S: Likewise
        * newlib/lib/machine/h8300/reg_memset.S: Likewise
        * newlib/lib/machine/h8300/setjmp.S: Likewise
        * newlib/lib/machine/h8300/strcmp.S: Likewise
        * newlib/lib/sys/h8300hms/crt0.S: Likewise
2003-05-28 18:00:17 +00:00
Jeff Johnston e65d559e71 2003-03-18 D.Venkatasubramanian <dvenkat@noida.hcltech.com>
* libc/include/sys/h8300hms/crt0.S[__SIMULATOR__]: Add commandline
        support.
        * configure.host (h8300*-*-*): Added comment regarding -D__SIMULATOR__
        flag to support simulator only extensions.
2003-03-18 20:38:04 +00:00
Jeff Johnston b85498d44c 2003-01-31 Michael Snyder <msnyder@redhat.com>
* libc/sys/h8300hms/crt0.S (_start): Change local label
	from .loop to .Loop, so that ld and gdb will ignore it.
2003-01-31 20:35:24 +00:00
Jeff Johnston b2d319cb3e 2001-09-07 Jeff Law <law@redhat.com>
* libc/sys/h8300hms/crt0.S: For H8/300H and H8/S, load address of
        __fini with "mov.l" instead of "mov.w".
2001-09-07 18:21:33 +00:00
Jeff Johnston 63c17b5426 2001-09-04 Jason Merrill <jason_merrill@redhat.com>
* libc/sys/h8300hms/crt0.S: Support ELF initialization.
2001-09-04 19:05:44 +00:00
Jeff Johnston 4ba9aab779 2000-08-30 Kazu Hirata <kazu@hxi.com>
* libc/sys/h8300hms/crt0.S: Optimize for both speed and code size.
2000-08-30 22:17:17 +00:00
Christopher Faylor 8a0efa53e4 import newlib-2000-02-17 snapshot 2000-02-17 19:39:52 +00:00