In the NO_UNDERSCORES case we need an extra `*' in ASM_GENERATE_INTERNAL_LABEL
otherwise using the macro in dbxout.c, eats the initial `.'. Probably someone
forgot that one, because the `*' is present in other implementations.
int values are added in DI (if the the constant is <0 & > -2*1024*1024 then
use a decl/subl and sbwc $0 instead of addl/adwc). The second fix is to
disallow register elimination peepholes when that register is used by
other operands in the other instructions in the peephole.
1999/08/02 Jakub Jelinek <jj@ultra.linux.cz>
* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
(RTX_OK_FOR_OLO10): Likewise.
(GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
%lo(), allow it in addresses...
(PRINT_OPERAND_ADDRESS): ... and print it appropriately.
* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
does not make sense.
* config/sparc/sparc.c (sparc_hard_reg_printed): New array.
(sparc_output_scratch_registers): New function.
(output_function_prologue, sparc_flat_output_function_prologue): Use
it.
* varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
defined.
* tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
1999/07/30 Jakub Jelinek <jj@ultra.linux.cz>
* config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
Fix patterns so that they actually match.
(cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
(mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
(const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
TARGET_HARD_MUL32.
(mulsidi3): Reflect this in the expand.
(smulsi3_highpart): Only on TARGET_ARCH32.
(umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
(const_umulsidi3_sp32): Renamed from const_umulsidi3.
(umulsidi3): Reflect this in the expand.
(umulsi3_highpart): Only on TARGET_ARCH32.
(divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
don't require g0 to be zero.
(udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
({,u}divsi3): New expands.
({,u}divsi3_sp64): New patterns.
(after lshrdi3_v8plus): Four new patterns to help combiner
optimizing nested mixed mode shifts.
Make the null printf format string warning enabled only if -pedantic is
supplied. This allows printf format attributes on err/warn. A fix to handle
this properly is in the works for the next major gcc release.
-shared or -symbolic (as on other platforms). Also, override LIBGCC_SPEC for
all platforms (where it would incorrectly include the .a file explicitly on
some).
This should fix Mozilla on macppc.
- move CPP_PREDEFINES to netbsd-elf-common.h
- define CPP_SUBTARGET_SPEC to -D__sparc64__
- copy and modify many SPARC_BI_ARCH `specs' from <sparc/sol2-sld-64.h>.
these currently look for 32 bit things in /emul/netbsd32, but this is
temporary
with these changes, i can succesfully build working 32 bit binaries on
a 64 bit system, as long as libgcc, *crt*.o and necessary libraries
exist under /emul/netbsd32.