📄 sysv4.h
字号:
rs6000_file_start (FILE, TARGET_CPU_DEFAULT); \} while (0)extern int fixuplabelno;/* Handle constructors specially for -mrelocatable. */#define TARGET_ASM_CONSTRUCTOR rs6000_elf_asm_out_constructor#define TARGET_ASM_DESTRUCTOR rs6000_elf_asm_out_destructor/* This is the end of what might become sysv4.h. *//* Use DWARF 2 debugging information by default. */#undef PREFERRED_DEBUGGING_TYPE#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG/* Historically we have also supported stabs debugging. */#define DBX_DEBUGGING_INFO 1#define TARGET_ENCODE_SECTION_INFO rs6000_elf_encode_section_info#define TARGET_STRIP_NAME_ENCODING rs6000_elf_strip_name_encoding#define TARGET_IN_SMALL_DATA_P rs6000_elf_in_small_data_p#define TARGET_SECTION_TYPE_FLAGS rs6000_elf_section_type_flags/* The ELF version doesn't encode [DS] or whatever at the end of symbols. */#define RS6000_OUTPUT_BASENAME(FILE, NAME) \ assemble_name (FILE, NAME)/* This is how to output a reference to a user-level label named NAME. `assemble_name' uses this. *//* Override elfos.h definition. */#undef ASM_OUTPUT_LABELREF#define ASM_OUTPUT_LABELREF(FILE,NAME) \do { \ const char *_name = NAME; \ if (*_name == '@') \ _name++; \ \ if (*_name == '*') \ fprintf (FILE, "%s", _name + 1); \ else \ asm_fprintf (FILE, "%U%s", _name); \} while (0)/* But, to make this work, we have to output the stabs for the function name *first*... */#define DBX_FUNCTION_FIRST/* This is the end of what might become sysv4dbx.h. */#ifndef TARGET_VERSION#define TARGET_VERSION fprintf (stderr, " (PowerPC System V.4)");#endif#ifndef TARGET_OS_CPP_BUILTINS#define TARGET_OS_CPP_BUILTINS() \ do \ { \ builtin_define_std ("PPC"); \ builtin_define_std ("unix"); \ builtin_define ("__svr4__"); \ builtin_assert ("system=unix"); \ builtin_assert ("system=svr4"); \ builtin_assert ("cpu=powerpc"); \ builtin_assert ("machine=powerpc"); \ } \ while (0)#endif/* Pass various options to the assembler. *//* Override svr4.h definition. */#undef ASM_SPEC#define ASM_SPEC "%(asm_cpu) \%{.s: %{mregnames} %{mno-regnames}} %{.S: %{mregnames} %{mno-regnames}} \%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \%{mrelocatable} %{mrelocatable-lib} %{fpic:-K PIC} %{fPIC:-K PIC} \%{memb} %{!memb: %{msdata: -memb} %{msdata=eabi: -memb}} \%{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian} \%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \ %{mcall-freebsd: -mbig} \ %{mcall-i960-old: -mlittle} \ %{mcall-linux: -mbig} \ %{mcall-gnu: -mbig} \ %{mcall-netbsd: -mbig} \}}}}"#define CC1_ENDIAN_BIG_SPEC ""#define CC1_ENDIAN_LITTLE_SPEC "\%{!mstrict-align: %{!mno-strict-align: \ %{!mcall-i960-old: \ -mstrict-align \ } \}}"#define CC1_ENDIAN_DEFAULT_SPEC "%(cc1_endian_big)"/* Pass -G xxx to the compiler and set correct endian mode. */#define CC1_SPEC "%{G*} \%{mlittle: %(cc1_endian_little)} %{!mlittle: %{mlittle-endian: %(cc1_endian_little)}} \%{mbig: %(cc1_endian_big)} %{!mbig: %{mbig-endian: %(cc1_endian_big)}} \%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \ %{mcall-aixdesc: -mbig %(cc1_endian_big) } \ %{mcall-freebsd: -mbig %(cc1_endian_big) } \ %{mcall-i960-old: -mlittle %(cc1_endian_little) } \ %{mcall-linux: -mbig %(cc1_endian_big) } \ %{mcall-gnu: -mbig %(cc1_endian_big) } \ %{mcall-netbsd: -mbig %(cc1_endian_big) } \ %{!mcall-aixdesc: %{!mcall-freebsd: %{!mcall-i960-old: %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: \ %(cc1_endian_default) \ }}}}}} \}}}} \%{mno-sdata: -msdata=none } \%{meabi: %{!mcall-*: -mcall-sysv }} \%{!meabi: %{!mno-eabi: \ %{mrelocatable: -meabi } \ %{mcall-freebsd: -mno-eabi } \ %{mcall-i960-old: -meabi } \ %{mcall-linux: -mno-eabi } \ %{mcall-gnu: -mno-eabi } \ %{mcall-netbsd: -mno-eabi }}} \%{msdata: -msdata=default} \%{mno-sdata: -msdata=none} \%{profile: -p}"/* Don't put -Y P,<path> for cross compilers. */#ifndef CROSS_COMPILE#define LINK_PATH_SPEC "\%{!R*:%{L*:-R %*}} \%{!nostdlib: %{!YP,*: \ %{compat-bsd: \ %{p:-Y P,/usr/ucblib:/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \ %{!p:-Y P,/usr/ucblib:/usr/ccs/lib:/usr/lib}} \ %{!R*: %{!L*: -R /usr/ucblib}} \ %{!compat-bsd: \ %{p:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \ %{!p:-Y P,/usr/ccs/lib:/usr/lib}}}}"#else#define LINK_PATH_SPEC ""#endif/* Default starting address if specified. */#define LINK_START_SPEC "\%{mads: %(link_start_ads) } \%{myellowknife: %(link_start_yellowknife) } \%{mmvme: %(link_start_mvme) } \%{msim: %(link_start_sim) } \%{mwindiss: %(link_start_windiss) } \%{mcall-freebsd: %(link_start_freebsd) } \%{mcall-linux: %(link_start_linux) } \%{mcall-gnu: %(link_start_gnu) } \%{mcall-netbsd: %(link_start_netbsd) } \%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \ %{!mcall-linux: %{!mcall-gnu: %{!mcall-netbsd: \ %{!mcall-freebsd: %(link_start_default) }}}}}}}}}"#define LINK_START_DEFAULT_SPEC ""/* Override svr4.h definition. */#undef LINK_SPEC#define LINK_SPEC "\%{h*} %{v:-V} %{!msdata=none:%{G*}} %{msdata=none:-G0} \%{YP,*} %{R*} \%{Qy:} %{!Qn:-Qy} \%(link_shlib) \%{!Wl,-T*: %{!T*: %(link_start) }} \%(link_target) \%(link_os)"/* For now, turn off shared libraries by default. */#ifndef SHARED_LIB_SUPPORT#define NO_SHARED_LIB_SUPPORT#endif#ifndef NO_SHARED_LIB_SUPPORT/* Shared libraries are default. */#define LINK_SHLIB_SPEC "\%{!static: %(link_path) %{!R*:%{L*:-R %*}}} \%{mshlib: } \%{static:-dn -Bstatic} \%{shared:-G -dy -z text} \%{symbolic:-Bsymbolic -G -dy -z text}"#else/* Shared libraries are not default. */#define LINK_SHLIB_SPEC "\%{mshlib: %(link_path) } \%{!mshlib: %{!shared: %{!symbolic: -dn -Bstatic}}} \%{static: } \%{shared:-G -dy -z text %(link_path) } \%{symbolic:-Bsymbolic -G -dy -z text %(link_path) }"#endif/* Override the default target of the linker. */#define LINK_TARGET_SPEC "\%{mlittle: --oformat elf32-powerpcle } %{mlittle-endian: --oformat elf32-powerpcle } \%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: \ %{mcall-i960-old: --oformat elf32-powerpcle} \ }}}}"/* Any specific OS flags. */#define LINK_OS_SPEC "\%{mads: %(link_os_ads) } \%{myellowknife: %(link_os_yellowknife) } \%{mmvme: %(link_os_mvme) } \%{msim: %(link_os_sim) } \%{mwindiss: %(link_os_windiss) } \%{mcall-freebsd: %(link_os_freebsd) } \%{mcall-linux: %(link_os_linux) } \%{mcall-gnu: %(link_os_gnu) } \%{mcall-netbsd: %(link_os_netbsd) } \%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \ %{!mcall-netbsd: %(link_os_default) }}}}}}}}}"#define LINK_OS_DEFAULT_SPEC ""#define CPP_SYSV_SPEC \"%{mrelocatable*: -D_RELOCATABLE} \%{fpic: -D__PIC__=1 -D__pic__=1} \%{!fpic: %{fPIC: -D__PIC__=2 -D__pic__=2}}"/* Override rs6000.h definition. */#undef CPP_SPEC#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} %(cpp_sysv) \%{mads: %(cpp_os_ads) } \%{myellowknife: %(cpp_os_yellowknife) } \%{mmvme: %(cpp_os_mvme) } \%{msim: %(cpp_os_sim) } \%{mwindiss: %(cpp_os_windiss) } \%{mcall-freebsd: %(cpp_os_freebsd) } \%{mcall-linux: %(cpp_os_linux) } \%{mcall-gnu: %(cpp_os_gnu) } \%{mcall-netbsd: %(cpp_os_netbsd) } \%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \ %{!mcall-netbsd: %(cpp_os_default) }}}}}}}}}"#define CPP_OS_DEFAULT_SPEC ""/* Override svr4.h definition. */#undef STARTFILE_SPEC#define STARTFILE_SPEC "\%{mads: %(startfile_ads) } \%{myellowknife: %(startfile_yellowknife) } \%{mmvme: %(startfile_mvme) } \%{msim: %(startfile_sim) } \%{mwindiss: %(startfile_windiss) } \%{mcall-freebsd: %(startfile_freebsd) } \%{mcall-linux: %(startfile_linux) } \%{mcall-gnu: %(startfile_gnu) } \%{mcall-netbsd: %(startfile_netbsd) } \%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \ %{!mcall-netbsd: %(startfile_default) }}}}}}}}}"#define STARTFILE_DEFAULT_SPEC ""/* Override svr4.h definition. */#undef LIB_SPEC#define LIB_SPEC "\%{mads: %(lib_ads) } \%{myellowknife: %(lib_yellowknife) } \%{mmvme: %(lib_mvme) } \%{msim: %(lib_sim) } \%{mwindiss: %(lib_windiss) } \%{mcall-freebsd: %(lib_freebsd) } \%{mcall-linux: %(lib_linux) } \%{mcall-gnu: %(lib_gnu) } \%{mcall-netbsd: %(lib_netbsd) } \%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \ %{!mcall-netbsd: %(lib_default) }}}}}}}}}"#define LIB_DEFAULT_SPEC ""/* Override svr4.h definition. */#undef ENDFILE_SPEC#define ENDFILE_SPEC "\%{mads: crtsavres.o%s %(endfile_ads)} \%{myellowknife: crtsavres.o%s %(endfile_yellowknife)} \%{mmvme: crtsavres.o%s %(endfile_mvme)} \%{msim: crtsavres.o%s %(endfile_sim)} \%{mwindiss: %(endfile_windiss)} \%{mcall-freebsd: crtsavres.o%s %(endfile_freebsd) } \%{mcall-linux: crtsavres.o%s %(endfile_linux) } \%{mcall-gnu: crtsavres.o%s %(endfile_gnu) } \%{mcall-netbsd: crtsavres.o%s %(endfile_netbsd) } \%{mvxworks: crtsavres.o%s %(endfile_vxworks) } \%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \ %{!mcall-netbsd: %{!mvxworks: %(crtsavres_default) \ %(endfile_default) }}}}}}}}}}"#define CRTSAVRES_DEFAULT_SPEC "crtsavres.o%s"#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__ELF__ -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:%e`-p' not supported; use `-pg' and gprof(1)} \ %{Wl,*:%*} \ %{v:-V} \ %{assert*} %{R*} %{rpath*} %{defsym*} \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -