patchAVR C Runtime Library - Patches: patch #9187, [AVR_TINY]: Support 16-bit xtoa...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

patch #9187: [AVR_TINY]: Support 16-bit xtoa functons and more string functions.

Submitter:  Georg-Johann Lay <gjlayde>
Submitted:  Fri 09 Dec 2016 01:02:16 PM UTC
   
 
Category:  None Priority:  5 - Normal
Status:  Done Privacy:  Public
Assigned to:  joerg_wunsch Open/Closed:  Closed

Mon 12 Jun 2017 10:10:11 PM UTC, comment #2: 

Added in r2542.

Thanks a lot, also for the nice ChangeLog entry!

Joerg Wunsch <joerg_wunsch>
Group administrator
Sun 11 Jun 2017 08:02:06 PM UTC, comment #1: 

Ping #1

Georg-Johann Lay <gjlayde>
Fri 09 Dec 2016 01:02:16 PM UTC, original submission:  

This improves support for AVR_TINY architecture.

It'a collection of low hanging fruit from from /libc/misc/ and libc/string, mostly achieved by

  • Using new X_sbiw instead of sbiw
  • Replace r0 by _tmp_reg_



        * common/asmdef.h (X_sbiw): New asm macro.
        * common/macros.inc (X_sbiw): New asm macro.
        * libc/misc/itoa.S: Don't restrict to !AVR_TINY.
        * libc/misc/itoa_ncheck.S: Same.
        * libc/misc/utoa.S: Same.
        * libc/misc/utoa_ncheck.S: Same. And use X_sbiw instead of sbiw.
        * libc/string/strlcat.S: Same.
        * libc/string/strncat.S: Same.
        * libc/string/strrev.S: Same.
        * libc/string/strrchr.S: Same.
        * libc/string/memchr.S: Don't restrict to !AVR_TINY.
        [AVR_TINY]: Use "ld __tmp_reg__,-R" instead of "sbiw R,1".
        * libc/string/strcat.S: Same.
        * libc/string/strchr.S: Same.
        * libc/string/memrchr.S: Don't restrict to !AVR_TINY.
        (r0): Use __tmp_reg__ instead.
        (adiw ZL,0): Use X_sbiw ZL,0 for comparison against 0 instead.
        * libc/string/strchrnul.S: Don't restrict to !AVR_TINY.
        (r0): Use __tmp_reg__ instead.
        [AVR_TINY]: Use "ld __tmp_reg__,-R" instead of "sbiw R,1".
        * libc/string/strpbrk.S: Same.
        * libc/string/strstr.S: Don't restrict to !AVR_TINY.
        Use X_sbiw instead of sbiw.
        (chr2): Define to __tmp_reg__ instead of to r0.
        * libc/string/strtok_r.S: Don't restrict to !AVR_TINY.
        Use X_sbiw instead of sbiw.
        (dch) [AVR_TINY]: Push / pop r18 around function.
        [AVR_TINY]: Use "ld __tmp_reg__,R+" instead of "adiw R,1".


Georg-Johann Lay <gjlayde>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #39183:  alibc-tiny-3.diff added by gjlayde (12KiB - text/x-patch - Fix severe typo in asmdef.h (SBCI, was SBIC) )
file #39182:  alibc-tiny-2.diff added by gjlayde (12KiB - text/x-patch - Also support memrchr.S)
file #39181:  alibc-tiny-1.diff added by gjlayde (12KiB - text/x-patch - Patch against trunk)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by joerg_wunsch (Posted a comment)
  • -email is unavailable- added by gjlayde (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2017-06-12 joerg_wunsch StatusNone Done
        Assigned toNone joerg_wunsch
        Open/ClosedOpen Closed
    2016-12-09 gjlayde Attached File- Added alibc-tiny-3.diff, #39183
    2016-12-09 gjlayde Attached File- Added alibc-tiny-2.diff, #39182
    2016-12-09 gjlayde Attached File- Added alibc-tiny-1.diff, #39181

    Back to the top

    Powered by Savane 3.13-3230.
    Corresponding source code