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

[Bug target/12527] [3.4 regression] [arm] bootstrap error on arm-linux, miscompiling genconstants



PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12527



------- Additional Comments From doko at cs dot tu-berlin dot de  2003-10-13 20:56 -------
Subject: Re:  [3.4 regression] [arm] bootstrap error on arm-linux, miscompiling genconstants

rearnsha at gcc dot gnu dot org writes:
> That's still ~800 lines of ChangeLog!  Far too much for me to guess the cause.
please be patient with the sloow machine ... ;-)

> Can you take a look at contrib/reghunt and see if you can narrow this down to an
> individual patch?
it's one of the following, more tomorrow.

2003-08-30  Zack Weinberg  <zack@codesourcery.com>

        * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
        * c-typeck.c (same_translation_unit_p): New function.
        (comptypes): Use it instead of flags parameter to identify
        structure types from different translation units.
        * c-decl.c (duplicate_decls): Always call comptypes with
        COMPTYPE_STRICT flags argument.
        (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
        to file_scope_decl.

2003-08-30  Zack Weinberg  <zack@codesourcery.com>

        * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
        * c-decl.c (struct c_scope): Remove "incomplete" field.
        (pushdecl): Attach variables with incomplete types to
        the TYPE_MAIN_VARIANT of the incomplete type in question.
        (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
        to complete, not at current_scope->incomplete.  All such
        variables do need completion.

2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
        Nicolas Pitre <nico@cam.org>

        * arm/lib1funcs.asm (RETCOND): Delete.
        (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
        (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
        (__ARM_ARCH__): Move here from ieee754-?f.S.
        (RET, RETc): Clean up definitions.
        (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
        (FUNC_END): New macro that marks the end of any function.
        (ARM_FUNC_START): New macro that allows an assembler routine to be
        implemented in ARM code even if a Thumb-only build.
        Unconditionally include ieee754-?f.S.
        * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
        Mark ends of functions.
        Split into separate conditionally-compiled units.
        Use RETLDM to return from routines.
        * arm/ieee754-sf.S: Similarly.
        * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
        Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
        _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
        _fixsfsi and _fixunssfsi.

        * arm/ieee754-df.S (__muldf3): Fix bug when result of a
        multiplication underflows to zero.
        (__adddf3): Fix bug when using VFP ordering on little-endian
        processors.
        (__fixdfsi): Use rrx to extract the carry into a register instead of
        MRS instruction.  Optimize later use of result.
        * arm/ieee754-sf.S (__fixsfsi): Likewise.
        (__fixunssfsi): Use a better sequence for handling negative-or-zero.




------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.



Reply to: