BusyBox Bug and Patch Tracking
BusyBox
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0001242 [uClibc] Architecture Specific major always 03-01-07 11:39 09-15-07 02:17
Reporter leochen View Status public  
Assigned To uClibc
Priority normal Resolution fixed  
Status closed   Product Version 0.9.28
Summary 0001242: architecture optimized string function is not included in libc.a and libuClibc-0.9.28.so
Description I build uClibc for ARM/MIPS platform. I've found the performance of "bcopy" in 0.9.28 release is much worse than the "bcopy" in 0.9.26 release.

I disassembled the code of libc.a and libUclibc.so in both versions. I've found that a generic "bcopy" is included, instead of the architecture optimized version.

A patch to fix that.

--- uClibc-0.9.28/libc/Makefile 2007-02-28 14:51:01.019082000 -0800
+++ uClibc-0.9.28/libc/Makefile 2007-02-28 14:33:42.181885000 -0800
@@ -59,7 +59,7 @@
   $(AR) dN 2 $(LIBNAME) $$objs && \
   $(AR) dN 2 $(LIBNAME) $$objs
   @for objfile in obj.signal \
- obj.string.generic obj.string.$(TARGET_ARCH) obj.string \
+ obj.string.generic obj.string obj.string.$(TARGET_ARCH) \
                   obj.sysdeps.common obj.sysdeps.$(TARGET_ARCH) ; do \
      if [ -e $$objfile ] ; then \
         if [ "$(MAKE_IS_SILENT)" = "n" ] ; then \
Additional Information The function included in libc.a
------------
bcopy.o: file format elf32-bigarm

Disassembly of section .text:

00000000 <bcopy>:
   0: e1a03000 mov r3, r0
   4: e1a00001 mov r0, r1
   8: e1a01003 mov r1, r3
   c: eafffffe b 0 <memmove>


The optimized version.
--------------
bcopy.o: file format elf32-bigarm

Disassembly of section .text:

00000000 <bcopy>:
   0: e0210000 eor r0, r1, r0
   4: e0201001 eor r1, r0, r1
   8: e0210000 eor r0, r1, r0
   c: eafffffe b 0 <_memcpy>

Attached Files

- Relationships

- Notes
(0002748)
vapier
09-15-07 02:17

should be fixed with new build system with 0.9.29
 

- Issue History
Date Modified Username Field Change
03-01-07 11:39 leochen New Issue
03-01-07 11:39 leochen Status new => assigned
03-01-07 11:39 leochen Assigned To  => uClibc
09-15-07 02:17 vapier Note Added: 0002748
09-15-07 02:17 vapier Status assigned => closed
09-15-07 02:17 vapier Resolution open => fixed


Copyright © 2000 - 2006 Mantis Group
Powered by Mantis Bugtracker