diff options
author | Rich Felker <dalias@aerifal.cx> | 2013-08-11 03:27:35 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2013-08-11 03:27:35 -0400 |
commit | 90d77722511ad5e9b748f69f42c5b2a8467fa049 (patch) | |
tree | c4631a36f4fe43a0f6d49f2d8af78c1eb676dd6f | |
parent | 7c440977db9444d7e6b1c3dcb1fdf4ee49ca4158 (diff) | |
download | musl-90d77722511ad5e9b748f69f42c5b2a8467fa049.tar.gz musl-90d77722511ad5e9b748f69f42c5b2a8467fa049.tar.bz2 musl-90d77722511ad5e9b748f69f42c5b2a8467fa049.tar.xz musl-90d77722511ad5e9b748f69f42c5b2a8467fa049.zip |
allow subarch-specific asm, including asm specific to the default
the default subarch is the one whose full name is just the base arch
name, with no suffixes. normally, either the asm in the default
subarch is suitable for all subarch variants, or separate asm is
mandatory for each variant. however, in the case of asm which is
purely for optimization purposes, it's possible to have asm that only
works (or only performs well) on the default subarch, and not any othe
the other variants. thus, I have added a mechanism to give a name to
the default variant, for example "armel" for the default,
little-endian arm. further such default-subarch names can be added in
the future as needed.
-rw-r--r-- | Makefile | 3 | ||||
-rwxr-xr-x | configure | 6 |
2 files changed, 9 insertions, 0 deletions
@@ -90,6 +90,9 @@ $(OPTIMIZE_SRCS:%.c=%.o) $(OPTIMIZE_SRCS:%.c=%.lo): CFLAGS += -O3 MEMOPS_SRCS = src/string/memcpy.c src/string/memmove.c src/string/memcmp.c src/string/memset.c $(MEMOPS_SRCS:%.c=%.o) $(MEMOPS_SRCS:%.c=%.lo): CFLAGS += $(CFLAGS_MEMOPS) +%.o: $(ARCH)$(ASMSUBARCH)/%.s + $(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $< + %.o: $(ARCH)/%.s $(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $< @@ -393,6 +393,11 @@ test "$ARCH" = "microblaze" && trycppif __MICROBLAZEEL__ "$t" \ test "$SUBARCH" \ && printf "configured for %s variant: %s\n" "$ARCH" "$ARCH$SUBARCH" +case "$ARCH$SUBARCH" in +arm) ASMSUBARCH=el ;; +*) ASMSUBARCH=$SUBARCH ;; +esac + # # Some archs (powerpc) have different possible long double formats # that the compiler can be configured for. The logic for whether this @@ -424,6 +429,7 @@ cat << EOF # Any changes made here will be lost if configure is re-run ARCH = $ARCH SUBARCH = $SUBARCH +ASMSUBARCH = $ASMSUBARCH prefix = $prefix exec_prefix = $exec_prefix bindir = $bindir |