Commit Graph

4 Commits

Author SHA1 Message Date
Jeff Law 063d67faf0 Finish this commit by prefixing HAVE_INITFINI_ARRAY and HAVE_INIT_FINI references in libgloss in the same way.
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Mon Jan 17 22:20:20 2022 -0500

    newlib: internalize HAVE_INITFINI_ARRAY

    This define is only used by newlib internally, so stop exporting it
    as HAVE_INITFINI_ARRAY since this can conflict with defines packages
    use themselves.

    We don't really need to add _ to HAVE_INIT_FINI too since it isn't
    exported in newlib.h, but might as well be consistent here.

    We can't (easily) add this to newlib_cflags like HAVE_INIT_FINI is
    because this is based on a compile-time test in the top configure,
    not on plain shell code in configure.host.  We'd have to replicate
    the test in every subdir in order to have it passed down.
2022-01-28 21:39:14 -07:00
Hans-Peter Nilsson cd5e7e2d82 Committed, libgloss: hook up cris-elf to the initfini-array support.
After a binutils change "a while ago" (2015-12) to default to
--enable-initfini-array, i.e. to merge .ctors and .dtors into
.init_array and .fini_array, this is needed for cdtors to run at all.

Based on what goes on in arm/ and aarch64/.  Tested for cris-elf by
running the gcc testsuite.

By the way, the configure test doesn't detect this change, so the
HAVE_INITFINI_ARRAY ifdeffery is somewhat redundant.  Still, the
change is tested to be safe with older binutils too.

libgloss/
	* cris/crt0.S, cris/lcrt0.c: Include newlib.h.
	[HAVE_INITFINI_ARRAY] (_init): Define to __libc_init_array.
	[HAVE_INITFINI_ARRAY] (_fini): Ditto __libc_fini_array.
2017-01-29 21:23:32 +01:00
Hans-Peter Nilsson 0bb4152b76 * cris/crt0.S: Use jump, not ba, to skip the interrupt table. Use
"setf", not "nop", for common_v10_v32 compatibility.
	Move out interrupt table to irqtable.S.  Include here for non-ELF.
	* cris/irqtable.S: Extracted from cris/crt0.S.  Provide per-entry
	weak default stub definitions.
	* cris/crtn.c: Use "setf", not "nop", for common_v10_v32
	compatibility.
	* cris/setup.S [__arch_common_v10_v32]: Return.
	* cris/Makefile.in (BSP_OBJS): Add irqtable.o.
2007-02-21 14:08:26 +00:00
Jeff Johnston 3a26703803 2005-01-27 Hans-Peter Nilsson <hp@axis.com>
* configure.in: Support cris-*-* and crisv32-*-*.
        * libnosys/configure.in: Ditto.
        * configure, libnosys/configure: Regenerate.
        * cris: New directory.
        * cris/crt0.S, cris/crtn.c, cris/gensyscalls, cris/linunistd.h,
        cris/outbyte.c, cris/configure.in, cris/crti.c, cris/lcrt0.c,
        cris/Makefile.in, cris/setup.S, cris/configure: New files.
2005-01-27 22:57:32 +00:00