00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "config.h"
00023 #include "system.h"
00024 #include "coretypes.h"
00025 #include "tm.h"
00026 #include "rtl.h"
00027 #include "regs.h"
00028 #include "hard-reg-set.h"
00029 #include "output.h"
00030 #include "tree.h"
00031 #include "flags.h"
00032 #include "tm_p.h"
00033 #include "toplev.h"
00034
00035 void
00036 nwld_named_section_asm_out_constructor (rtx symbol, int priority)
00037 {
00038 #if !SUPPORTS_INIT_PRIORITY
00039 const char section[] = ".ctors"TARGET_SUB_SECTION_SEPARATOR;
00040 #else
00041 char section[20];
00042
00043 sprintf (section,
00044 ".ctors"TARGET_SUB_SECTION_SEPARATOR"%.5u",
00045
00046
00047
00048 MAX_INIT_PRIORITY - priority);
00049 #endif
00050
00051 named_section_flags (section, 0);
00052 assemble_align (POINTER_SIZE);
00053 assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
00054 }
00055
00056 void
00057 nwld_named_section_asm_out_destructor (rtx symbol, int priority)
00058 {
00059 #if !SUPPORTS_INIT_PRIORITY
00060 const char section[] = ".dtors"TARGET_SUB_SECTION_SEPARATOR;
00061 #else
00062 char section[20];
00063
00064 sprintf (section, ".dtors"TARGET_SUB_SECTION_SEPARATOR"%.5u",
00065
00066
00067
00068 MAX_INIT_PRIORITY - priority);
00069 #endif
00070
00071 named_section_flags (section, 0);
00072 assemble_align (POINTER_SIZE);
00073 assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
00074 }