Re: [klibc 07/31] i386 support for klibc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



H. Peter Anvin wrote:
Jan Engelhardt wrote:
usr/klibc/arch/i386/libgcc/__ashldi3.S   |   29 +++++++
usr/klibc/arch/i386/libgcc/__ashrdi3.S   |   29 +++++++
usr/klibc/arch/i386/libgcc/__lshrdi3.S   |   29 +++++++
usr/klibc/arch/i386/libgcc/__muldi3.S    |   34 ++++++++
usr/klibc/arch/i386/libgcc/__negdi2.S    |   21 +++++

No divdi3?

The i386 ones are a bit special... usually the reason I have added libgcc functions is that on some architectures, gcc has various problems linking with libgcc in some configurations. That is not the case on i386, but some of the libgcc functions are *way* bigger than the need to be (overall, the quality of code in libgcc seems horrid, across architectures.)

Since i386 is such an important architecture I added a handful of assembly functions for stuff that could be done in a very small amount of space.


Correction... divdi3, moddi3, udivdi3, umoddi3 and udivmoddi4 are also provided, but are implemented as generic subroutines in C instead of assembly:

KLIBCARCHOBJS = \
        arch/$(KLIBCARCH)/socketcall.o \
        arch/$(KLIBCARCH)/setjmp.o \
        arch/$(KLIBCARCH)/syscall.o \
        arch/$(KLIBCARCH)/varsyscall.o \
        arch/$(KLIBCARCH)/open.o \
        arch/$(KLIBCARCH)/openat.o \
        arch/$(KLIBCARCH)/sigreturn.o \
        arch/$(KLIBCARCH)/vfork.o \
        arch/$(KLIBCARCH)/libgcc/__ashldi3.o \
        arch/$(KLIBCARCH)/libgcc/__ashrdi3.o \
        arch/$(KLIBCARCH)/libgcc/__lshrdi3.o \
        arch/$(KLIBCARCH)/libgcc/__muldi3.o \
        arch/$(KLIBCARCH)/libgcc/__negdi2.o \
        libgcc/__divdi3.o \
        libgcc/__moddi3.o \
        libgcc/__udivdi3.o \
        libgcc/__umoddi3.o \
        libgcc/__udivmoddi4.o

It probably would be more efficient if i386's native division instructions could be exploited, but it hasn't been a pressing issue.

	-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux