📄 sysv4.h
字号:
#define ENDFILE_DEFAULT_SPEC ""/* Motorola ADS support. */#define LIB_ADS_SPEC "--start-group -lads -lc --end-group"#define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"#define ENDFILE_ADS_SPEC "crtend.o%s ecrtn.o%s"#define LINK_START_ADS_SPEC "-T ads.ld%s"#define LINK_OS_ADS_SPEC ""#define CPP_OS_ADS_SPEC ""/* Motorola Yellowknife support. */#define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group"#define STARTFILE_YELLOWKNIFE_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"#define ENDFILE_YELLOWKNIFE_SPEC "crtend.o%s ecrtn.o%s"#define LINK_START_YELLOWKNIFE_SPEC "-T yellowknife.ld%s"#define LINK_OS_YELLOWKNIFE_SPEC ""#define CPP_OS_YELLOWKNIFE_SPEC ""/* Motorola MVME support. */#define LIB_MVME_SPEC "--start-group -lmvme -lc --end-group"#define STARTFILE_MVME_SPEC "ecrti.o%s crt0.o%s crtbegin.o%s"#define ENDFILE_MVME_SPEC "crtend.o%s ecrtn.o%s"#define LINK_START_MVME_SPEC "-Ttext 0x40000"#define LINK_OS_MVME_SPEC ""#define CPP_OS_MVME_SPEC ""/* PowerPC simulator based on netbsd system calls support. */#define LIB_SIM_SPEC "--start-group -lsim -lc --end-group"#define STARTFILE_SIM_SPEC "ecrti.o%s sim-crt0.o%s crtbegin.o%s"#define ENDFILE_SIM_SPEC "crtend.o%s ecrtn.o%s"#define LINK_START_SIM_SPEC ""#define LINK_OS_SIM_SPEC "-m elf32ppcsim"#define CPP_OS_SIM_SPEC ""/* FreeBSD support. */#define CPP_OS_FREEBSD_SPEC "\ -D__PPC__ -D__ppc__ -D__PowerPC__ -D__powerpc__ \ -Acpu=powerpc -Amachine=powerpc"#define STARTFILE_FREEBSD_SPEC FBSD_STARTFILE_SPEC#define ENDFILE_FREEBSD_SPEC FBSD_ENDFILE_SPEC#define LIB_FREEBSD_SPEC FBSD_LIB_SPEC#define LINK_START_FREEBSD_SPEC ""#define LINK_OS_FREEBSD_SPEC "\ %{p:%nconsider using `-pg' instead of `-p' with gprof(1)} \ %{Wl,*:%*} \ %{v:-V} \ %{assert*} %{R*} %{rpath*} %{defsym*} \ %{shared:-Bshareable %{h*} %{soname*}} \ %{!shared: \ %{!static: \ %{rdynamic: -export-dynamic} \ %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \ %{static:-Bstatic}} \ %{symbolic:-Bsymbolic}"/* GNU/Linux support. */#define LIB_LINUX_SPEC "%{mnewlib: --start-group -llinux -lc --end-group } \%{!mnewlib: %{pthread:-lpthread} %{shared:-lc} \%{!shared: %{profile:-lc_p} %{!profile:-lc}}}"#ifdef HAVE_LD_PIE#define STARTFILE_LINUX_SPEC "\%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \%{mnewlib:ecrti.o%s;:crti.o%s} \%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"#else#define STARTFILE_LINUX_SPEC "\%{!shared: %{pg|p|profile:gcrt1.o%s;:crt1.o%s}} \%{mnewlib:ecrti.o%s;:crti.o%s} \%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"#endif#define ENDFILE_LINUX_SPEC "\%{shared|pie:crtendS.o%s;:crtend.o%s} \%{mnewlib:ecrtn.o%s;:crtn.o%s}"#define LINK_START_LINUX_SPEC ""#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"#if defined(HAVE_LD_EH_FRAME_HDR)# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "#endif#define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \%{!undef: \ %{!ansi: \ %{!std=*:-Dunix -D__unix -Dlinux -D__linux} \ %{std=gnu*:-Dunix -D__unix -Dlinux -D__linux}}} \-Asystem=linux -Asystem=unix -Asystem=posix %{pthread:-D_REENTRANT}"/* GNU/Hurd support. */#define LIB_GNU_SPEC "%{mnewlib: --start-group -lgnu -lc --end-group } \%{!mnewlib: %{shared:-lc} %{!shared: %{pthread:-lpthread } \%{profile:-lc_p} %{!profile:-lc}}}"#define STARTFILE_GNU_SPEC "\%{!shared: %{!static: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}}} \%{static: %{pg:gcrt0.o%s} %{!pg:%{p:gcrt0.o%s} %{!p:crt0.o%s}}} \%{mnewlib: ecrti.o%s} %{!mnewlib: crti.o%s} \%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"#define ENDFILE_GNU_SPEC "%{!shared:crtend.o%s} %{shared:crtendS.o%s} \%{mnewlib: ecrtn.o%s} %{!mnewlib: crtn.o%s}"#define LINK_START_GNU_SPEC ""#define LINK_OS_GNU_SPEC "-m elf32ppclinux %{!shared: %{!static: \ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"#define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__ \%{!undef: \ %{!ansi: -Dunix -D__unix}} \-Asystem=gnu -Asystem=unix -Asystem=posix %{pthread:-D_REENTRANT}"/* NetBSD support. */#define LIB_NETBSD_SPEC "\%{profile:-lgmon -lc_p} %{!profile:-lc}"#define STARTFILE_NETBSD_SPEC "\ncrti.o%s crt0.o%s \%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"#define ENDFILE_NETBSD_SPEC "\%{!shared:crtend.o%s} %{shared:crtendS.o%s} \ncrtn.o%s"#define LINK_START_NETBSD_SPEC "\"#define LINK_OS_NETBSD_SPEC "\%{!shared: %{!static: \ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}}}"#define CPP_OS_NETBSD_SPEC "\-D__powerpc__ -D__NetBSD__ -D__KPRINTF_ATTRIBUTE__"/* OpenBSD support. */#ifndef LIB_OPENBSD_SPEC#define LIB_OPENBSD_SPEC "%{!shared:%{pthread:-lpthread%{p:_p}%{!p:%{pg:_p}}}} %{!shared:-lc%{p:_p}%{!p:%{pg:_p}}}"#endif#ifndef STARTFILE_OPENBSD_SPEC#define STARTFILE_OPENBSD_SPEC "\%{!shared: %{pg:gcrt0.o%s} %{!pg:%{p:gcrt0.o%s} %{!p:crt0.o%s}}} \%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"#endif#ifndef ENDFILE_OPENBSD_SPEC#define ENDFILE_OPENBSD_SPEC "\%{!shared:crtend.o%s} %{shared:crtendS.o%s}"#endif#ifndef LINK_START_OPENBSD_SPEC#define LINK_START_OPENBSD_SPEC "-Ttext 0x400074"#endif#ifndef LINK_OS_OPENBSD_SPEC#define LINK_OS_OPENBSD_SPEC ""#endif#ifndef CPP_OS_OPENBSD_SPEC#define CPP_OS_OPENBSD_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"#endif/* WindISS support. */#define LIB_WINDISS_SPEC "--start-group -li -lcfp -lwindiss -lram -limpl -limpfp --end-group"#define CPP_OS_WINDISS_SPEC "\-D__rtasim \-D__EABI__ \-D__ppc \%{!msoft-float: -D__hardfp} \"#define STARTFILE_WINDISS_SPEC "crt0.o%s crtbegin.o%s"#define ENDFILE_WINDISS_SPEC "crtend.o%s"#define LINK_START_WINDISS_SPEC ""#define LINK_OS_WINDISS_SPEC ""/* Define any extra SPECS that the compiler needs to generate. *//* Override rs6000.h definition. */#undef SUBTARGET_EXTRA_SPECS#define SUBTARGET_EXTRA_SPECS \ { "crtsavres_default", CRTSAVRES_DEFAULT_SPEC }, \ { "lib_ads", LIB_ADS_SPEC }, \ { "lib_yellowknife", LIB_YELLOWKNIFE_SPEC }, \ { "lib_mvme", LIB_MVME_SPEC }, \ { "lib_sim", LIB_SIM_SPEC }, \ { "lib_freebsd", LIB_FREEBSD_SPEC }, \ { "lib_gnu", LIB_GNU_SPEC }, \ { "lib_linux", LIB_LINUX_SPEC }, \ { "lib_netbsd", LIB_NETBSD_SPEC }, \ { "lib_openbsd", LIB_OPENBSD_SPEC }, \ { "lib_windiss", LIB_WINDISS_SPEC }, \ { "lib_default", LIB_DEFAULT_SPEC }, \ { "startfile_ads", STARTFILE_ADS_SPEC }, \ { "startfile_yellowknife", STARTFILE_YELLOWKNIFE_SPEC }, \ { "startfile_mvme", STARTFILE_MVME_SPEC }, \ { "startfile_sim", STARTFILE_SIM_SPEC }, \ { "startfile_freebsd", STARTFILE_FREEBSD_SPEC }, \ { "startfile_gnu", STARTFILE_GNU_SPEC }, \ { "startfile_linux", STARTFILE_LINUX_SPEC }, \ { "startfile_netbsd", STARTFILE_NETBSD_SPEC }, \ { "startfile_openbsd", STARTFILE_OPENBSD_SPEC }, \ { "startfile_windiss", STARTFILE_WINDISS_SPEC }, \ { "startfile_default", STARTFILE_DEFAULT_SPEC }, \ { "endfile_ads", ENDFILE_ADS_SPEC }, \ { "endfile_yellowknife", ENDFILE_YELLOWKNIFE_SPEC }, \ { "endfile_mvme", ENDFILE_MVME_SPEC }, \ { "endfile_sim", ENDFILE_SIM_SPEC }, \ { "endfile_freebsd", ENDFILE_FREEBSD_SPEC }, \ { "endfile_gnu", ENDFILE_GNU_SPEC }, \ { "endfile_linux", ENDFILE_LINUX_SPEC }, \ { "endfile_netbsd", ENDFILE_NETBSD_SPEC }, \ { "endfile_openbsd", ENDFILE_OPENBSD_SPEC }, \ { "endfile_windiss", ENDFILE_WINDISS_SPEC }, \ { "endfile_default", ENDFILE_DEFAULT_SPEC }, \ { "link_path", LINK_PATH_SPEC }, \ { "link_shlib", LINK_SHLIB_SPEC }, \ { "link_target", LINK_TARGET_SPEC }, \ { "link_start", LINK_START_SPEC }, \ { "link_start_ads", LINK_START_ADS_SPEC }, \ { "link_start_yellowknife", LINK_START_YELLOWKNIFE_SPEC }, \ { "link_start_mvme", LINK_START_MVME_SPEC }, \ { "link_start_sim", LINK_START_SIM_SPEC }, \ { "link_start_freebsd", LINK_START_FREEBSD_SPEC }, \ { "link_start_gnu", LINK_START_GNU_SPEC }, \ { "link_start_linux", LINK_START_LINUX_SPEC }, \ { "link_start_netbsd", LINK_START_NETBSD_SPEC }, \ { "link_start_openbsd", LINK_START_OPENBSD_SPEC }, \ { "link_start_windiss", LINK_START_WINDISS_SPEC }, \ { "link_start_default", LINK_START_DEFAULT_SPEC }, \ { "link_os", LINK_OS_SPEC }, \ { "link_os_ads", LINK_OS_ADS_SPEC }, \ { "link_os_yellowknife", LINK_OS_YELLOWKNIFE_SPEC }, \ { "link_os_mvme", LINK_OS_MVME_SPEC }, \ { "link_os_sim", LINK_OS_SIM_SPEC }, \ { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \ { "link_os_linux", LINK_OS_LINUX_SPEC }, \ { "link_os_gnu", LINK_OS_GNU_SPEC }, \ { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \ { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \ { "link_os_windiss", LINK_OS_WINDISS_SPEC }, \ { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ { "cc1_endian_big", CC1_ENDIAN_BIG_SPEC }, \ { "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \ { "cc1_endian_default", CC1_ENDIAN_DEFAULT_SPEC }, \ { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ { "cpp_os_sim", CPP_OS_SIM_SPEC }, \ { "cpp_os_freebsd", CPP_OS_FREEBSD_SPEC }, \ { "cpp_os_gnu", CPP_OS_GNU_SPEC }, \ { "cpp_os_linux", CPP_OS_LINUX_SPEC }, \ { "cpp_os_netbsd", CPP_OS_NETBSD_SPEC }, \ { "cpp_os_openbsd", CPP_OS_OPENBSD_SPEC }, \ { "cpp_os_windiss", CPP_OS_WINDISS_SPEC }, \ { "cpp_os_default", CPP_OS_DEFAULT_SPEC }, \ { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }, \ SUBSUBTARGET_EXTRA_SPECS#define SUBSUBTARGET_EXTRA_SPECS/* Define this macro as a C expression for the initializer of an array of string to tell the driver program which options are defaults for this target and thus do not need to be handled specially when using `MULTILIB_OPTIONS'. Do not define this macro if `MULTILIB_OPTIONS' is not defined in the target makefile fragment or if none of the options listed in `MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */#define MULTILIB_DEFAULTS { "mbig", "mcall-sysv" }/* Define this macro if the code for function profiling should come before the function prologue. Normally, the profiling code comes after. */#define PROFILE_BEFORE_PROLOGUE 1/* Function name to call to do profiling. */#define RS6000_MCOUNT "_mcount"/* Define this macro (to a value of 1) if you want to support the Win32 style pragmas #pragma pack(push,<n>)' and #pragma pack(pop)'. The pack(push,<n>) pragma specifies the maximum alignment (in bytes) of fields within a structure, in much the same way as the __aligned__' and __packed__' __attribute__'s do. A pack value of zero resets the behavior to the default. Successive invocations of this pragma cause the previous values to be stacked, so that invocations of #pragma pack(pop)' will return to the previous value. */#define HANDLE_PRAGMA_PACK_PUSH_POP 1/* Select a format to encode pointers in exception handling data. CODE is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is true if the symbol may be affected by dynamic relocations. */#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \ ((flag_pic || TARGET_RELOCATABLE) \ ? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4) \ : DW_EH_PE_absptr)#define TARGET_ASM_EXCEPTION_SECTION readonly_data_section#define DOUBLE_INT_ASM_OP "\t.quad\t"/* Generate entries in .fixup for relocatable addresses. */#define RELOCATABLE_NEEDS_FIXUP 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -