crtstuff.c (__dso_handle): Set section from TARGET_LBIGCC_SDATA_SECTION if defined.

* crtstuff.c (__dso_handle): Set section from
TARGET_LBIGCC_SDATA_SECTION if defined.
* doc/tm.text (TARGET_LIBGCC_SDATA_SECTION): Document.
* config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.

From-SVN: r113817
This commit is contained in:
DJ Delorie 2006-05-15 23:49:57 -04:00 committed by DJ Delorie
parent 2102802062
commit a0cfeb0fcd
4 changed files with 24 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2006-05-16 DJ Delorie <dj@redhat.com>
* crtstuff.c (__dso_handle): Set section from
TARGET_LBIGCC_SDATA_SECTION if defined.
* doc/tm.text (TARGET_LIBGCC_SDATA_SECTION): Document.
* config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
2006-05-16 Danny Smith <dannysmith@users.sourceforge.net>
PR target/27599

View File

@ -466,6 +466,8 @@ extern const struct mips_rtx_cost_data *mips_cost;
#endif
#endif /* IN_LIBGCC2 */
#define TARGET_LIBGCC_SDATA_SECTION ".sdata"
#ifndef MULTILIB_ENDIAN_DEFAULT
#if TARGET_ENDIAN_DEFAULT == 0
#define MULTILIB_ENDIAN_DEFAULT "EL"

View File

@ -225,6 +225,9 @@ STATIC void *__JCR_LIST__[]
in one DSO or the main program is not used in another object. The
dynamic linker takes care of this. */
#ifdef TARGET_LIBGCC_SDATA_SECTION
extern void *__dso_handle __attribute__ ((__section__ (TARGET_LIBGCC_SDATA_SECTION)));
#endif
#ifdef HAVE_GAS_HIDDEN
extern void *__dso_handle __attribute__ ((__visibility__ ("hidden")));
#endif

View File

@ -6217,6 +6217,18 @@ registers initialized in the function prologue or to ensure that
constant pools don't end up too far way in the text section.
@end defmac
@defmac TARGET_LIBGCC_SDATA_SECTION
If defined, a string which names the section into which small
variables defined in crtstuff and libgcc should go. This is useful
when the target has options for optimizing access to small data, and
you want the crtstuff and libgcc routines to be conservative in what
they expect of your application yet liberal in what your application
expects. For example, for targets with a @code{.sdata} section (like
MIPS), you could compile crtstuff with @code{-G 0} so that it doesn't
require small data support from your application, but use this macro
to put small data into @code{.sdata} so that your application can
access these variables whether it uses small data or not.
@defmac FORCE_CODE_SECTION_ALIGN
If defined, an ASM statement that aligns a code section to some
arbitrary boundary. This is used to force all fragments of the