Deleted Added
full compact
linux64.h (102780) linux64.h (103445)
1/* Definitions of target machine for GNU compiler,
2 for 64 bit powerpc linux.
3 Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
4
5This file is part of GNU CC.
6
7GNU CC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by

--- 23 unchanged lines hidden (view full) ---

32 (MASK_POWERPC | MASK_POWERPC64 | MASK_64BIT | MASK_NEW_MNEMONICS)
33
34#undef CPP_DEFAULT_SPEC
35#define CPP_DEFAULT_SPEC "-D_ARCH_PPC64"
36
37#undef ASM_DEFAULT_SPEC
38#define ASM_DEFAULT_SPEC "-mppc64"
39
1/* Definitions of target machine for GNU compiler,
2 for 64 bit powerpc linux.
3 Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
4
5This file is part of GNU CC.
6
7GNU CC is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by

--- 23 unchanged lines hidden (view full) ---

32 (MASK_POWERPC | MASK_POWERPC64 | MASK_64BIT | MASK_NEW_MNEMONICS)
33
34#undef CPP_DEFAULT_SPEC
35#define CPP_DEFAULT_SPEC "-D_ARCH_PPC64"
36
37#undef ASM_DEFAULT_SPEC
38#define ASM_DEFAULT_SPEC "-mppc64"
39
40#undef ASM_SPEC
41#define ASM_SPEC "%{.s: %{mregnames} %{mno-regnames}} \
42%{.S: %{mregnames} %{mno-regnames}} \
43%{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian} \
44%{v:-V} %{Qy:} %{!Qn:-Qy} -a64 %(asm_cpu) %{Wa,*:%*}"
45
40/* 64-bit PowerPC Linux always has a TOC. */
41#undef TARGET_NO_TOC
42#define TARGET_NO_TOC 0
43#undef TARGET_TOC
44#define TARGET_TOC 1
45
46/* We use glibc _mcount for profiling. */
47#define NO_PROFILE_COUNTERS 1

--- 12 unchanged lines hidden (view full) ---

60#endif
61
62/* We don't need to generate entries in .fixup. */
63#undef RELOCATABLE_NEEDS_FIXUP
64
65#define USER_LABEL_PREFIX ""
66
67/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints. */
46/* 64-bit PowerPC Linux always has a TOC. */
47#undef TARGET_NO_TOC
48#define TARGET_NO_TOC 0
49#undef TARGET_TOC
50#define TARGET_TOC 1
51
52/* We use glibc _mcount for profiling. */
53#define NO_PROFILE_COUNTERS 1

--- 12 unchanged lines hidden (view full) ---

66#endif
67
68/* We don't need to generate entries in .fixup. */
69#undef RELOCATABLE_NEEDS_FIXUP
70
71#define USER_LABEL_PREFIX ""
72
73/* AIX word-aligns FP doubles but doubleword-aligns 64-bit ints. */
74#undef ADJUST_FIELD_ALIGN
68#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
69 (TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \
70 ? get_inner_array_type (FIELD) \
71 : TREE_TYPE (FIELD)) == DFmode \
72 ? MIN ((COMPUTED), 32) : (COMPUTED))
73
74/* AIX increases natural record alignment to doubleword if the first
75 field is an FP double while the FP fields remain word aligned. */

--- 246 unchanged lines hidden (view full) ---

322 fputs ("-.", FILE); \
323 assemble_name (FILE, \
324 XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0));\
325 putc ('\n', FILE); \
326 ASM_OUTPUT_INTERNAL_LABEL (FILE, "LM", sym_lineno); \
327 sym_lineno += 1; \
328 } \
329while (0)
75#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
76 (TYPE_MODE (TREE_CODE (TREE_TYPE (FIELD)) == ARRAY_TYPE \
77 ? get_inner_array_type (FIELD) \
78 : TREE_TYPE (FIELD)) == DFmode \
79 ? MIN ((COMPUTED), 32) : (COMPUTED))
80
81/* AIX increases natural record alignment to doubleword if the first
82 field is an FP double while the FP fields remain word aligned. */

--- 246 unchanged lines hidden (view full) ---

329 fputs ("-.", FILE); \
330 assemble_name (FILE, \
331 XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0));\
332 putc ('\n', FILE); \
333 ASM_OUTPUT_INTERNAL_LABEL (FILE, "LM", sym_lineno); \
334 sym_lineno += 1; \
335 } \
336while (0)
337
338/* Similarly, we want the function code label here. */
339#define DBX_OUTPUT_BRAC(FILE, NAME, BRAC) \
340 do \
341 { \
342 const char *flab; \
343 fprintf (FILE, "%s%d,0,0,", ASM_STABN_OP, BRAC); \
344 assemble_name (FILE, NAME); \
345 putc ('-', FILE); \
346 if (current_function_func_begin_label != NULL_TREE) \
347 flab = IDENTIFIER_POINTER (current_function_func_begin_label); \
348 else \
349 { \
350 putc ('.', FILE); \
351 flab = XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0); \
352 } \
353 assemble_name (FILE, flab); \
354 putc ('\n', FILE); \
355 } \
356 while (0)
357
358#define DBX_OUTPUT_LBRAC(FILE, NAME) DBX_OUTPUT_BRAC (FILE, NAME, N_LBRAC)
359#define DBX_OUTPUT_RBRAC(FILE, NAME) DBX_OUTPUT_BRAC (FILE, NAME, N_RBRAC)
360
361/* Another case where we want the dot name. */
362#define DBX_OUTPUT_NFUN(FILE, LSCOPE, DECL) \
363 do \
364 { \
365 fprintf (FILE, "%s\"\",%d,0,0,", ASM_STABS_OP, N_FUN); \
366 assemble_name (FILE, LSCOPE); \
367 fputs ("-.", FILE); \
368 assemble_name (FILE, XSTR (XEXP (DECL_RTL (DECL), 0), 0)); \
369 putc ('\n', FILE); \
370 } \
371 while (0)
372
373/* Override sysv4.h as these are ABI_V4 only. */
374#undef ASM_OUTPUT_REG_PUSH
375#undef ASM_OUTPUT_REG_POP
376
377/* Select a format to encode pointers in exception handling data. CODE
378 is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
379 true if the symbol may be affected by dynamic relocations. */
380#undef ASM_PREFERRED_EH_DATA_FORMAT
381#define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \
382 (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_udata8)