public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug regression/24438]  New: ARM cross compile build fails with assembler errors in crtstuff.c
@ 2005-10-18 21:02 newell at cei dot net
  2005-10-18 21:12 ` [Bug bootstrap/24438] " pinskia at gcc dot gnu dot org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: newell at cei dot net @ 2005-10-18 21:02 UTC (permalink / raw)
  To: gcc-bugs

Compiler info:
/home/newell/src/gcc-4.1/b_gcc/./gcc/xgcc -v

Using built-in specs.
Target: arm-elf
Configured with: ../gcc-4.1-20050515/configure --target=arm-elf
--prefix=/home/newell/xgcc --with-gnu-as --with-gnu-ld --with-newlib --verbose
--enable-threads --enable-languages=c
Thread model: single
gcc version 4.1.0 20050515 (experimental)


command line:
/home/newell/src/gcc-4.1/b_gcc/./gcc/xgcc -v --save-temps
-B/home/newell/src/gcc-4.1/b_gcc/./gcc/ -nostdinc
-B/home/newell/src/gcc-4.1/b_gcc/arm-elf/newlib/ -isystem
/home/newell/src/gcc-4.1/b_gcc/arm-elf/newlib/targ-include -isystem
/home/newell/src/gcc-4.1/gcc-4.1-20050515/newlib/libc/include
-B/home/newell/xgcc/arm-elf/bin/ -B/home/newell/xgcc/arm-elf/lib/ -isystem
/home/newell/xgcc/arm-elf/include -isystem
/home/newell/xgcc/arm-elf/sys-include -O2 -DIN_GCC -DCROSS_COMPILE   -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
 -isystem ./include  -I. -I. -I../../gcc-4.1-20050515/gcc
-I../../gcc-4.1-20050515/gcc/. -I../../gcc-4.1-20050515/gcc/../include
-I./../intl -I../../gcc-4.1-20050515/gcc/../libcpp/include   -g0
-finhibit-size-directive -fno-inline-functions -fno-exceptions
-fno-zero-initialized-in-bss -fno-unit-at-a-time -Dinhibit_libc -c
../../gcc-4.1-20050515/gcc/crtstuff.c -DCRT_BEGIN -o crtbegin.o


Compiler error output:
Reading specs from /home/newell/src/gcc-4.1/b_gcc/./gcc/specs
Target: arm-elf
Configured with: ../gcc-4.1-20050515/configure --target=arm-elf
--prefix=/home/newell/xgcc --with-gnu-as --with-gnu-ld --with-newlib --verbose
--enable-threads --enable-languages=c
Thread model: single
gcc version 4.1.0 20050515 (experimental)
 /home/newell/src/gcc-4.1/b_gcc/./gcc/cc1 -E -quiet -nostdinc -v -I. -I.
-I../../gcc-4.1-20050515/gcc -I../../gcc-4.1-20050515/gcc/.
-I../../gcc-4.1-20050515/gcc/../include -I./../intl
-I../../gcc-4.1-20050515/gcc/../libcpp/include -iprefix
/home/newell/src/gcc-4.1/b_gcc/gcc/../lib/gcc/arm-elf/4.1.0/ -isystem
/home/newell/src/gcc-4.1/b_gcc/./gcc/include -D__USES_INITFINI__ -DIN_GCC
-DCROSS_COMPILE -Dinhibit_libc -DCRT_BEGIN -isystem
/home/newell/src/gcc-4.1/b_gcc/arm-elf/newlib/targ-include -isystem
/home/newell/src/gcc-4.1/gcc-4.1-20050515/newlib/libc/include -isystem
/home/newell/xgcc/arm-elf/include -isystem
/home/newell/xgcc/arm-elf/sys-include -isystem ./include
../../gcc-4.1-20050515/gcc/crtstuff.c -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
-finhibit-size-directive -fno-inline-functions -fno-exceptions
-fno-zero-initialized-in-bss -fno-unit-at-a-time -O2 -fpch-preprocess -o
crtstuff.i
ignoring nonexistent directory
"/home/newell/src/gcc-4.1/b_gcc/arm-elf/newlib/targ-include"
ignoring nonexistent directory "/home/newell/xgcc/arm-elf/include"
ignoring nonexistent directory "/home/newell/xgcc/arm-elf/sys-include"
ignoring duplicate directory "./include"
ignoring duplicate directory "."
ignoring duplicate directory "../../gcc-4.1-20050515/gcc/."
#include "..." search starts here:
#include <...> search starts here:
 .
 ../../gcc-4.1-20050515/gcc
 ../../gcc-4.1-20050515/gcc/../include
 ./../intl
 ../../gcc-4.1-20050515/gcc/../libcpp/include
 /home/newell/src/gcc-4.1/b_gcc/./gcc/include
 /home/newell/src/gcc-4.1/gcc-4.1-20050515/newlib/libc/include
End of search list.
 /home/newell/src/gcc-4.1/b_gcc/./gcc/cc1 -fpreprocessed crtstuff.i -quiet
-dumpbase crtstuff.c -auxbase-strip crtbegin.o -g0 -O2 -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -version
-finhibit-size-directive -fno-inline-functions -fno-exceptions
-fno-zero-initialized-in-bss -fno-unit-at-a-time -o crtstuff.s
GNU C version 4.1.0 20050515 (experimental) (arm-elf)
        compiled by GNU C version 3.3.2 (propolice).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
 as -o crtbegin.o crtstuff.s
crtstuff.s: Assembler messages:
crtstuff.s:31: Error: unknown pseudo-op: `.bss'
crtstuff.s:43: Warning: rest of line ignored; first ignored character is `@'
crtstuff.s:44: Warning: rest of line ignored; first ignored character is `@'
crtstuff.s:45: Error: Unknown opcode: `stmfd'
crtstuff.s:46: Error: Unknown opcode: `ldr'
crtstuff.s:47: Error: Unknown opcode: `ldrb'
crtstuff.s:48: Error: Illegal operands
crtstuff.s:49: Error: Unknown opcode: `ldmnefd'
crtstuff.s:50: Error: Unknown opcode: `ldr'
crtstuff.s:51: Error: Unknown opcode: `ldr'
crtstuff.s:52: Error: Unknown opcode: `ldr'
crtstuff.s:53: Error: Illegal operands
crtstuff.s:56: Error: Illegal operands
crtstuff.s:57: Error: Unknown opcode: `str'
crtstuff.s:58: Error: Illegal operands
crtstuff.s:59: Error: Unknown opcode: `bx'
crtstuff.s:60: Error: Unknown opcode: `ldr'
crtstuff.s:61: Error: Unknown opcode: `ldr'
crtstuff.s:62: Error: Illegal operands
crtstuff.s:65: Error: Unknown opcode: `ldr'
crtstuff.s:66: Error: Illegal operands
crtstuff.s:67: Error: Unknown opcode: `ldrne'
crtstuff.s:68: Error: Illegal operands
crtstuff.s:69: Error: Unknown opcode: `bxne'
crtstuff.s:71: Error: Illegal operands
crtstuff.s:72: Error: Unknown opcode: `strb'
crtstuff.s:73: Error: Unknown opcode: `ldmfd'
crtstuff.s:84: Warning: rest of line ignored; first ignored character is `@'
crtstuff.s:85: Warning: rest of line ignored; first ignored character is `@'
crtstuff.s:86: Error: Unknown opcode: `str'
crtstuff.s:90: Error: Unknown opcode: `ldr'
crtstuff.s:91: Error: unknown pseudo-op: `.bss'
crtstuff.s:99: Warning: rest of line ignored; first ignored character is `@'
crtstuff.s:100: Warning: rest of line ignored; first ignored character is `@'
crtstuff.s:101: Error: Unknown opcode: `ldr'
crtstuff.s:102: Error: Illegal operands
crtstuff.s:103: Error: Unknown opcode: `str'
crtstuff.s:104: Error: Unknown opcode: `ldr'
crtstuff.s:105: Error: Unknown opcode: `ldr'
crtstuff.s:106: Error: Illegal operands
crtstuff.s:107: Error: Unknown opcode: `bxne'
crtstuff.s:109: Error: Unknown opcode: `ldr'
crtstuff.s:110: Error: Unknown opcode: `ldr'
crtstuff.s:111: Error: Illegal operands
crtstuff.s:112: Error: Unknown opcode: `ldr'
crtstuff.s:113: Error: Unknown opcode: `ldreq'
crtstuff.s:114: Error: Illegal operands
crtstuff.s:115: Error: Unknown opcode: `ldreq'
crtstuff.s:116: Error: Illegal operands
crtstuff.s:117: Error: Unknown opcode: `bx'
crtstuff.s:118: Error: Unknown opcode: `ldr'
crtstuff.s:130: Warning: rest of line ignored; first ignored character is `@'
crtstuff.s:131: Warning: rest of line ignored; first ignored character is `@'
crtstuff.s:132: Error: Unknown opcode: `str'
crtstuff.s:136: Error: Unknown opcode: `ldr'

Preprocessed source (crtstuff.i):
# 1 "../../gcc-4.1-20050515/gcc/crtstuff.c"
# 0 "<built-in>"
# 1 "<command line>"
# 1 "../../gcc-4.1-20050515/gcc/crtstuff.c"
# 60 "../../gcc-4.1-20050515/gcc/crtstuff.c"
# 1 "./auto-host.h" 1
# 61 "../../gcc-4.1-20050515/gcc/crtstuff.c" 2
# 1 "./tconfig.h" 1





# 1 "./auto-host.h" 1
# 7 "./tconfig.h" 2

# 1 "../../gcc-4.1-20050515/gcc/../include/ansidecl.h" 1
# 9 "./tconfig.h" 2
# 62 "../../gcc-4.1-20050515/gcc/crtstuff.c" 2
# 1 "../../gcc-4.1-20050515/gcc/tsystem.h" 1
# 47 "../../gcc-4.1-20050515/gcc/tsystem.h"
# 1 "/home/newell/src/gcc-4.1/b_gcc/./gcc/include/stddef.h" 1 3 4
# 152 "/home/newell/src/gcc-4.1/b_gcc/./gcc/include/stddef.h" 3 4
typedef long int ptrdiff_t;
# 214 "/home/newell/src/gcc-4.1/b_gcc/./gcc/include/stddef.h" 3 4
typedef long unsigned int size_t;
# 326 "/home/newell/src/gcc-4.1/b_gcc/./gcc/include/stddef.h" 3 4
typedef int wchar_t;
# 48 "../../gcc-4.1-20050515/gcc/tsystem.h" 2
# 1 "/home/newell/src/gcc-4.1/b_gcc/./gcc/include/float.h" 1 3 4
# 49 "../../gcc-4.1-20050515/gcc/tsystem.h" 2




extern void *malloc (size_t);



extern void free (void *);



extern int atexit (void (*)(void));



extern void abort (void) __attribute__ ((__noreturn__));



extern size_t strlen (const char *);



extern void *memcpy (void *, const void *, size_t);



extern void *memset (void *, int, size_t);
# 135 "../../gcc-4.1-20050515/gcc/tsystem.h"
# 1 "../../gcc-4.1-20050515/gcc/../include/filenames.h" 1
# 136 "../../gcc-4.1-20050515/gcc/tsystem.h" 2
# 63 "../../gcc-4.1-20050515/gcc/crtstuff.c" 2
# 1 "../../gcc-4.1-20050515/gcc/coretypes.h" 1
# 65 "../../gcc-4.1-20050515/gcc/coretypes.h"
struct _dont_use_rtx_here_;
struct _dont_use_rtvec_here_;
union _dont_use_tree_here_;
# 64 "../../gcc-4.1-20050515/gcc/crtstuff.c" 2
# 1 "./tm.h" 1




# 1 "./options.h" 1





extern int target_flags;



extern int warn_abi;



extern int warn_aggregate_return;



extern int warn_bad_function_cast;



extern int warn_cast_align;



extern int warn_cast_qual;



extern int warn_char_subscripts;



extern int warn_conversion;



extern int warn_ctor_dtor_privacy;



extern int warn_declaration_after_statement;



extern int warn_deprecated;



extern int warn_deprecated_decl;



extern int warn_disabled_optimization;



extern int warn_div_by_zero;



extern int warn_ecpp;



extern int warnings_are_errors;



extern int flag_fatal_errors;



extern int warn_float_equal;



extern int warn_format_extra_args;



extern int warn_format_nonliteral;



extern int warn_format_security;



extern int warn_format_y2k;



extern int warn_format_zero_length;



extern int mesg_implicit_function_declaration;



extern int warn_implicit_int;



extern int warn_init_self;



extern int warn_inline;



extern int warn_int_to_pointer_cast;



extern int warn_invalid_offsetof;



extern int warn_long_long;



extern int warn_missing_braces;



extern int warn_missing_declarations;



extern int warn_missing_field_initializers;



extern int warn_missing_format_attribute;



extern int warn_missing_noreturn;



extern int warn_missing_prototypes;



extern int warn_nested_externs;



extern int warn_nontemplate_friend;



extern int warn_nonvdtor;



extern int warn_nonnull;



extern int warn_old_style_cast;



extern int warn_old_style_definition;



extern int warn_overloaded_virtual;



extern int warn_packed;



extern int warn_padded;



extern int warn_parentheses;



extern int warn_pmf2ptr;



extern int warn_pointer_arith;



extern int warn_pointer_sign;



extern int warn_pointer_to_int_cast;



extern int warn_protocol;



extern int warn_redundant_decls;



extern int warn_reorder;



extern int warn_selector;



extern int warn_sequence_point;



extern int warn_shadow;



extern int warn_sign_compare;



extern int warn_sign_promo;



extern int warn_strict_prototypes;



extern int warn_switch;



extern int warn_switch_default;



extern int warn_switch_enum;



extern int warn_synth;



extern int warn_system_headers;



extern int warn_traditional;



extern int warn_undeclared_selector;



extern int warn_uninitialized;



extern int warn_notreached;



extern int warn_unused_function;



extern int warn_unused_label;



extern int warn_unused_parameter;



extern int warn_unused_value;



extern int warn_unused_variable;



extern int flag_pic;



extern int flag_pie;



extern int flag_abi_version;



extern int align_functions;



extern int align_jumps;



extern int align_labels;



extern int align_loops;



extern int flag_argument_noalias;



extern int flag_argument_noalias;



extern int flag_argument_noalias;



extern int flag_asynchronous_unwind_tables;



extern int flag_bounds_check;



extern int flag_branch_on_count_reg;



extern int flag_branch_probabilities;



extern int flag_branch_target_load_optimize;



extern int flag_branch_target_load_optimize2;



extern int flag_btr_bb_exclusive;



extern int flag_caller_saves;



extern int flag_no_common;



extern int flag_cprop_registers;



extern int flag_crossjumping;



extern int flag_cse_follow_jumps;



extern int flag_cse_skip_blocks;



extern int flag_cx_limited_range;



extern int flag_data_sections;



extern int flag_defer_pop;



extern int flag_delayed_branch;



extern int flag_delete_null_pointer_checks;



extern int flag_dump_unnumbered;



extern int flag_eliminate_dwarf2_dups;



extern int flag_debug_only_used_symbols;



extern int flag_eliminate_unused_debug_types;



extern int flag_exceptions;



extern int flag_expensive_optimizations;



extern int flag_finite_math_only;



extern int flag_float_store;



extern int flag_force_addr;



extern int flag_force_mem;



extern int flag_no_function_cse;



extern int flag_function_sections;



extern int flag_gcse;



extern int flag_gcse_after_reload;



extern int flag_gcse_las;



extern int flag_gcse_lm;



extern int flag_gcse_sm;



extern int flag_guess_branch_prob;



extern int flag_no_ident;



extern int flag_if_conversion;



extern int flag_if_conversion2;



extern int flag_inhibit_size_directive;



extern int flag_no_inline;



extern int flag_inline_functions;



extern int flag_instrument_function_entry_exit;



extern int flag_ivopts;



extern int flag_keep_inline_functions;



extern int flag_keep_static_consts;



extern int flag_leading_underscore;



extern int flag_loop_optimize;



extern int flag_loop_optimize2;



extern int flag_errno_math;



extern int mem_report;



extern int flag_merge_constants;



extern int flag_merge_constants;



extern int flag_modulo_sched;



extern int flag_move_loop_invariants;



extern int flag_mudflap;



extern int flag_mudflap_ignore_reads;



extern int flag_mudflap_threads;



extern int flag_non_call_exceptions;



extern int flag_omit_frame_pointer;



extern int flag_regmove;



extern int flag_optimize_sibling_calls;



extern int flag_pack_struct;



extern int flag_pcc_struct_return;



extern int flag_peel_loops;



extern int flag_no_peephole;



extern int flag_peephole2;



extern int flag_pic;



extern int flag_pie;



extern int flag_prefetch_loop_arrays;



extern int profile_flag;



extern int profile_arc_flag;



extern int flag_profile_values;



extern int flag_pcc_struct_return;



extern int flag_regmove;



extern int flag_rename_registers;



extern int flag_reorder_blocks;



extern int flag_reorder_blocks_and_partition;



extern int flag_reorder_functions;



extern int flag_rerun_cse_after_loop;



extern int flag_rerun_loop_opt;



extern int flag_resched_modulo_sched;



extern int flag_rounding_math;



extern int flag_schedule_interblock;



extern int flag_schedule_speculative;



extern int flag_schedule_speculative_load;



extern int flag_schedule_speculative_load_dangerous;



extern int flag_sched_stalled_insns;



extern int flag_sched_stalled_insns_dep;



extern int flag_sched2_use_superblocks;



extern int flag_sched2_use_traces;



extern int flag_schedule_insns;



extern int flag_schedule_insns_after_reload;



extern int flag_shared_data;



extern int flag_show_column;



extern int flag_signaling_nans;



extern int flag_single_precision_constant;



extern int flag_speculative_prefetching;



extern int flag_split_ivs_in_unroller;



extern int flag_stack_check;



extern int flag_strength_reduce;



extern int flag_strict_aliasing;



extern int flag_syntax_only;



extern int flag_test_coverage;



extern int flag_thread_jumps;



extern int time_report;



extern int flag_tracer;



extern int flag_trapping_math;



extern int flag_trapv;



extern int flag_tree_based_profiling;



extern int flag_tree_ccp;



extern int flag_tree_ch;



extern int flag_tree_combine_temps;



extern int flag_tree_copy_prop;



extern int flag_tree_copyrename;



extern int flag_tree_dce;



extern int flag_tree_dom;



extern int flag_tree_dse;



extern int flag_tree_fre;



extern int flag_tree_loop_im;



extern int flag_tree_loop_ivcanon;



extern int flag_tree_loop_linear;



extern int flag_tree_loop_optimize;



extern int flag_tree_live_range_split;



extern int flag_tree_pre;



extern int flag_tree_salias;



extern int flag_tree_sink;



extern int flag_tree_sra;



extern int flag_tree_store_ccp;



extern int flag_tree_store_copy_prop;



extern int flag_tree_ter;



extern int flag_tree_vectorize;



extern int flag_tree_vrp;



extern int flag_unit_at_a_time;



extern int flag_unroll_all_loops;



extern int flag_unroll_loops;



extern int flag_unsafe_math_optimizations;



extern int flag_unswitch_loops;



extern int flag_unwind_tables;



extern int flag_var_tracking;



extern int flag_variable_expansion_in_unroller;



extern int flag_verbose_asm;



extern int flag_value_profile_transformations;



extern int flag_web;



extern int flag_wrapv;



extern int flag_zero_initialized_in_bss;



extern int profile_flag;



extern int pedantic;



extern int quiet_flag;



extern int version_flag;



extern int inhibit_warnings;
# 986 "./options.h"
enum opt_code
{
  OPT__help,
  OPT__output_pch_,
  OPT__param,
  OPT__target_help,
  OPT__version,
  OPT_A,
  OPT_C,
  OPT_CC,
  OPT_D,
  OPT_E,
  OPT_F,
  OPT_G,
  OPT_H,
  OPT_I,
  OPT_M,
  OPT_MD,
  OPT_MF,
  OPT_MG,
  OPT_MM,
  OPT_MMD,
  OPT_MP,
  OPT_MQ,
  OPT_MT,
  OPT_O,
  OPT_Os,
  OPT_P,
  OPT_U,
  OPT_W,
  OPT_Wabi,
  OPT_Waggregate_return,
  OPT_Wall,
  OPT_Wbad_function_cast,
  OPT_Wcast_align,
  OPT_Wcast_qual,
  OPT_Wchar_subscripts,
  OPT_Wcomment,
  OPT_Wcomments,
  OPT_Wconversion,
  OPT_Wctor_dtor_privacy,
  OPT_Wdeclaration_after_statement,
  OPT_Wdeprecated,
  OPT_Wdeprecated_declarations,
  OPT_Wdisabled_optimization,
  OPT_Wdiv_by_zero,
  OPT_Weffc__,
  OPT_Wendif_labels,
  OPT_Werror,
  OPT_Werror_implicit_function_declaration,
  OPT_Wextra,
  OPT_Wfatal_errors,
  OPT_Wfloat_equal,
  OPT_Wformat,
  OPT_Wformat_extra_args,
  OPT_Wformat_nonliteral,
  OPT_Wformat_security,
  OPT_Wformat_y2k,
  OPT_Wformat_zero_length,
  OPT_Wformat_,
  OPT_Wimplicit,
  OPT_Wimplicit_function_declaration,
  OPT_Wimplicit_int,
  OPT_Wimport,
  OPT_Winit_self,
  OPT_Winline,
  OPT_Wint_to_pointer_cast,
  OPT_Winvalid_offsetof,
  OPT_Winvalid_pch,
  OPT_Wlarger_than_,
  OPT_Wlong_long,
  OPT_Wmain,
  OPT_Wmissing_braces,
  OPT_Wmissing_declarations,
  OPT_Wmissing_field_initializers,
  OPT_Wmissing_format_attribute,
  OPT_Wmissing_include_dirs,
  OPT_Wmissing_noreturn,
  OPT_Wmissing_prototypes,
  OPT_Wmultichar,
  OPT_Wnested_externs,
  OPT_Wnon_template_friend,
  OPT_Wnon_virtual_dtor,
  OPT_Wnonnull,
  OPT_Wnormalized_,
  OPT_Wold_style_cast,
  OPT_Wold_style_definition,
  OPT_Woverloaded_virtual,
  OPT_Wpacked,
  OPT_Wpadded,
  OPT_Wparentheses,
  OPT_Wpmf_conversions,
  OPT_Wpointer_arith,
  OPT_Wpointer_sign,
  OPT_Wpointer_to_int_cast,
  OPT_Wprotocol,
  OPT_Wredundant_decls,
  OPT_Wreorder,
  OPT_Wreturn_type,
  OPT_Wselector,
  OPT_Wsequence_point,
  OPT_Wshadow,
  OPT_Wsign_compare,
  OPT_Wsign_promo,
  OPT_Wstrict_aliasing,
  OPT_Wstrict_aliasing_,
  OPT_Wstrict_null_sentinel,
  OPT_Wstrict_prototypes,
  OPT_Wswitch,
  OPT_Wswitch_default,
  OPT_Wswitch_enum,
  OPT_Wsynth,
  OPT_Wsystem_headers,
  OPT_Wtraditional,
  OPT_Wtrigraphs,
  OPT_Wundeclared_selector,
  OPT_Wundef,
  OPT_Wuninitialized,
  OPT_Wunknown_pragmas,
  OPT_Wunreachable_code,
  OPT_Wunused,
  OPT_Wunused_function,
  OPT_Wunused_label,
  OPT_Wunused_macros,
  OPT_Wunused_parameter,
  OPT_Wunused_value,
  OPT_Wunused_variable,
  OPT_Wvariadic_macros,
  OPT_Wwrite_strings,
  OPT_ansi,
  OPT_aux_info,
  OPT_aux_info_,
  OPT_auxbase,
  OPT_auxbase_strip,
  OPT_d,
  OPT_dumpbase,
  OPT_fPIC,
  OPT_fPIE,
  OPT_fabi_version_,
  OPT_faccess_control,
  OPT_falign_functions,
  OPT_falign_functions_,
  OPT_falign_jumps,
  OPT_falign_jumps_,
  OPT_falign_labels,
  OPT_falign_labels_,
  OPT_falign_loops,
  OPT_falign_loops_,
  OPT_fall_virtual,
  OPT_falt_external_templates,
  OPT_fargument_alias,
  OPT_fargument_noalias,
  OPT_fargument_noalias_global,
  OPT_fasm,
  OPT_fasynchronous_unwind_tables,
  OPT_fbounds_check,
  OPT_fbranch_count_reg,
  OPT_fbranch_probabilities,
  OPT_fbranch_target_load_optimize,
  OPT_fbranch_target_load_optimize2,
  OPT_fbtr_bb_exclusive,
  OPT_fbuiltin,
  OPT_fbuiltin_,
  OPT_fcall_saved_,
  OPT_fcall_used_,
  OPT_fcaller_saves,
  OPT_fcheck_new,
  OPT_fcommon,
  OPT_fcond_mismatch,
  OPT_fconserve_space,
  OPT_fconst_strings,
  OPT_fconstant_string_class_,
  OPT_fcprop_registers,
  OPT_fcrossjumping,
  OPT_fcse_follow_jumps,
  OPT_fcse_skip_blocks,
  OPT_fcx_limited_range,
  OPT_fdata_sections,
  OPT_fdefault_inline,
  OPT_fdefer_pop,
  OPT_fdelayed_branch,
  OPT_fdelete_null_pointer_checks,
  OPT_fdiagnostics_show_location_,
  OPT_fdiagnostics_show_option,
  OPT_fdollars_in_identifiers,
  OPT_fdump_,
  OPT_fdump_unnumbered,
  OPT_felide_constructors,
  OPT_feliminate_dwarf2_dups,
  OPT_feliminate_unused_debug_symbols,
  OPT_feliminate_unused_debug_types,
  OPT_fenforce_eh_specs,
  OPT_fenum_int_equiv,
  OPT_fexceptions,
  OPT_fexec_charset_,
  OPT_fexpensive_optimizations,
  OPT_fexternal_templates,
  OPT_ffast_math,
  OPT_ffinite_math_only,
  OPT_ffixed_,
  OPT_ffixed_form,
  OPT_ffixed_line_length_,
  OPT_ffloat_store,
  OPT_ffor_scope,
  OPT_fforce_addr,
  OPT_fforce_mem,
  OPT_ffreestanding,
  OPT_ffunction_cse,
  OPT_ffunction_sections,
  OPT_fgcse,
  OPT_fgcse_after_reload,
  OPT_fgcse_las,
  OPT_fgcse_lm,
  OPT_fgcse_sm,
  OPT_fgnu_keywords,
  OPT_fgnu_runtime,
  OPT_fguess_branch_probability,
  OPT_fguiding_decls,
  OPT_fhandle_exceptions,
  OPT_fhonor_std,
  OPT_fhosted,
  OPT_fhuge_objects,
  OPT_fident,
  OPT_fif_conversion,
  OPT_fif_conversion2,
  OPT_fimplement_inlines,
  OPT_fimplicit_inline_templates,
  OPT_fimplicit_templates,
  OPT_finhibit_size_directive,
  OPT_finline,
  OPT_finline_functions,
  OPT_finline_limit_,
  OPT_finline_limit_eq,
  OPT_finput_charset_,
  OPT_finstrument_functions,
  OPT_fivopts,
  OPT_fkeep_inline_functions,
  OPT_fkeep_static_consts,
  OPT_flabels_ok,
  OPT_fleading_underscore,
  OPT_floop_optimize,
  OPT_floop_optimize2,
  OPT_fmath_errno,
  OPT_fmem_report,
  OPT_fmerge_all_constants,
  OPT_fmerge_constants,
  OPT_fmessage_length_,
  OPT_fmodulo_sched,
  OPT_fmove_loop_invariants,
  OPT_fms_extensions,
  OPT_fmudflap,
  OPT_fmudflapir,
  OPT_fmudflapth,
  OPT_fname_mangling_version_,
  OPT_fnew_abi,
  OPT_fnext_runtime,
  OPT_fnil_receivers,
  OPT_fnon_call_exceptions,
  OPT_fnonansi_builtins,
  OPT_fnonnull_objects,
  OPT_fobjc_exceptions,
  OPT_fobjc_sjlj_exceptions,
  OPT_fomit_frame_pointer,
  OPT_foperator_names,
  OPT_foptimize_register_move,
  OPT_foptimize_sibling_calls,
  OPT_foptional_diags,
  OPT_fpack_struct,
  OPT_fpack_struct_,
  OPT_fpcc_struct_return,
  OPT_fpch_deps,
  OPT_fpch_preprocess,
  OPT_fpeel_loops,
  OPT_fpeephole,
  OPT_fpeephole2,
  OPT_fpermissive,
  OPT_fpic,
  OPT_fpie,
  OPT_fprefetch_loop_arrays,
  OPT_fpreprocessed,
  OPT_fprofile,
  OPT_fprofile_arcs,
  OPT_fprofile_generate,
  OPT_fprofile_use,
  OPT_fprofile_values,
  OPT_frandom_seed,
  OPT_frandom_seed_,
  OPT_freg_struct_return,
  OPT_fregmove,
  OPT_frename_registers,
  OPT_freorder_blocks,
  OPT_freorder_blocks_and_partition,
  OPT_freorder_functions,
  OPT_freplace_objc_classes,
  OPT_frepo,
  OPT_frerun_cse_after_loop,
  OPT_frerun_loop_opt,
  OPT_freschedule_modulo_scheduled_loops,
  OPT_frounding_math,
  OPT_frtti,
  OPT_fsched_interblock,
  OPT_fsched_spec,
  OPT_fsched_spec_load,
  OPT_fsched_spec_load_dangerous,
  OPT_fsched_stalled_insns,
  OPT_fsched_stalled_insns_dep,
  OPT_fsched_stalled_insns_dep_,
  OPT_fsched_stalled_insns_,
  OPT_fsched_verbose_,
  OPT_fsched2_use_superblocks,
  OPT_fsched2_use_traces,
  OPT_fschedule_insns,
  OPT_fschedule_insns2,
  OPT_fshared_data,
  OPT_fshort_double,
  OPT_fshort_enums,
  OPT_fshort_wchar,
  OPT_fshow_column,
  OPT_fsignaling_nans,
  OPT_fsigned_bitfields,
  OPT_fsigned_char,
  OPT_fsingle_precision_constant,
  OPT_fspeculative_prefetching,
  OPT_fsplit_ivs_in_unroller,
  OPT_fsquangle,
  OPT_fstack_check,
  OPT_fstack_limit,
  OPT_fstack_limit_register_,
  OPT_fstack_limit_symbol_,
  OPT_fstats,
  OPT_fstrength_reduce,
  OPT_fstrict_aliasing,
  OPT_fstrict_prototype,
  OPT_fsyntax_only,
  OPT_ftabstop_,
  OPT_ftemplate_depth_,
  OPT_ftest_coverage,
  OPT_fthis_is_variable,
  OPT_fthread_jumps,
  OPT_fthreadsafe_statics,
  OPT_ftime_report,
  OPT_ftls_model_,
  OPT_ftracer,
  OPT_ftrapping_math,
  OPT_ftrapv,
  OPT_ftree_based_profiling,
  OPT_ftree_ccp,
  OPT_ftree_ch,
  OPT_ftree_combine_temps,
  OPT_ftree_copy_prop,
  OPT_ftree_copyrename,
  OPT_ftree_dce,
  OPT_ftree_dominator_opts,
  OPT_ftree_dse,
  OPT_ftree_fre,
  OPT_ftree_loop_im,
  OPT_ftree_loop_ivcanon,
  OPT_ftree_loop_linear,
  OPT_ftree_loop_optimize,
  OPT_ftree_lrs,
  OPT_ftree_pre,
  OPT_ftree_salias,
  OPT_ftree_sink,
  OPT_ftree_sra,
  OPT_ftree_store_ccp,
  OPT_ftree_store_copy_prop,
  OPT_ftree_ter,
  OPT_ftree_vectorize,
  OPT_ftree_vectorizer_verbose_,
  OPT_ftree_vrp,
  OPT_funit_at_a_time,
  OPT_funroll_all_loops,
  OPT_funroll_loops,
  OPT_funsafe_math_optimizations,
  OPT_funsigned_bitfields,
  OPT_funsigned_char,
  OPT_funswitch_loops,
  OPT_funwind_tables,
  OPT_fuse_cxa_atexit,
  OPT_fvar_tracking,
  OPT_fvariable_expansion_in_unroller,
  OPT_fverbose_asm,
  OPT_fvisibility_inlines_hidden,
  OPT_fvisibility_,
  OPT_fvpt,
  OPT_fvtable_gc,
  OPT_fvtable_thunks,
  OPT_fweak,
  OPT_fweb,
  OPT_fwide_exec_charset_,
  OPT_fworking_directory,
  OPT_fwrapv,
  OPT_fxref,
  OPT_fzero_initialized_in_bss,
  OPT_fzero_link,
  OPT_g,
  OPT_gcoff,
  OPT_gdwarf_2,
  OPT_gen_decls,
  OPT_ggdb,
  OPT_gstabs,
  OPT_gstabs_,
  OPT_gvms,
  OPT_gxcoff,
  OPT_gxcoff_,
  OPT_idirafter,
  OPT_imacros,
  OPT_include,
  OPT_iprefix,
  OPT_iquote,
  OPT_isysroot,
  OPT_isystem,
  OPT_iwithprefix,
  OPT_iwithprefixbefore,
  OPT_lang_asm,
  OPT_lang_objc,
  OPT_mabi_,
  OPT_mabort_on_noreturn,
  OPT_mapcs,
  OPT_mapcs_float,
  OPT_mapcs_frame,
  OPT_mapcs_reentrant,
  OPT_mapcs_stack_check,
  OPT_march_,
  OPT_marm,
  OPT_mbig_endian,
  OPT_mcallee_super_interworking,
  OPT_mcaller_super_interworking,
  OPT_mcirrus_fix_invalid_insns,
  OPT_mcpu_,
  OPT_mfloat_abi_,
  OPT_mfp_,
  OPT_mfpe,
  OPT_mfpe_,
  OPT_mfpu_,
  OPT_mhard_float,
  OPT_mlittle_endian,
  OPT_mlong_calls,
  OPT_mpic_register_,
  OPT_mpoke_function_name,
  OPT_msched_prolog,
  OPT_msingle_pic_base,
  OPT_msoft_float,
  OPT_mstructure_size_boundary_,
  OPT_mthumb,
  OPT_mthumb_interwork,
  OPT_mtpcs_frame,
  OPT_mtpcs_leaf_frame,
  OPT_mtune_,
  OPT_mwords_little_endian,
  OPT_nostdinc,
  OPT_nostdinc__,
  OPT_o,
  OPT_p,
  OPT_pedantic,
  OPT_pedantic_errors,
  OPT_print_objc_runtime_info,
  OPT_quiet,
  OPT_remap,
  OPT_std_c__98,
  OPT_std_c89,
  OPT_std_c99,
  OPT_std_c9x,
  OPT_std_gnu__98,
  OPT_std_gnu89,
  OPT_std_gnu99,
  OPT_std_gnu9x,
  OPT_std_iso9899_1990,
  OPT_std_iso9899_199409,
  OPT_std_iso9899_1999,
  OPT_std_iso9899_199x,
  OPT_traditional_cpp,
  OPT_trigraphs,
  OPT_undef,
  OPT_v,
  OPT_version,
  OPT_w,
  N_OPTS
};
# 6 "./tm.h" 2
# 1 "../../gcc-4.1-20050515/gcc/config/dbxelf.h" 1
# 7 "./tm.h" 2
# 1 "../../gcc-4.1-20050515/gcc/config/elfos.h" 1
# 8 "./tm.h" 2
# 1 "../../gcc-4.1-20050515/gcc/config/arm/unknown-elf.h" 1
# 9 "./tm.h" 2
# 1 "../../gcc-4.1-20050515/gcc/config/arm/elf.h" 1
# 10 "./tm.h" 2
# 1 "../../gcc-4.1-20050515/gcc/config/arm/aout.h" 1
# 11 "./tm.h" 2
# 1 "../../gcc-4.1-20050515/gcc/config/arm/arm.h" 1
# 30 "../../gcc-4.1-20050515/gcc/config/arm/arm.h"
extern char arm_arch_name[];
# 84 "../../gcc-4.1-20050515/gcc/config/arm/arm.h"
enum processor_type
{


# 1 "../../gcc-4.1-20050515/gcc/config/arm/arm-cores.def" 1
# 39 "../../gcc-4.1-20050515/gcc/config/arm/arm-cores.def"
arm2,
arm250,
arm3,


arm6,
arm60,
arm600,
arm610,
arm620,
arm7,
arm7d,
arm7di,
arm70,
arm700,
arm700i,
arm710,
arm720,
arm710c,
arm7100,
arm7500,

arm7500fe,




arm7m,
arm7dm,
arm7dmi,


arm8,
arm810,
strongarm,
strongarm110,
strongarm1100,
strongarm1110,


arm7tdmi,
arm7tdmis,
arm710t,
arm720t,
arm740t,
arm9,
arm9tdmi,
arm920,
arm920t,
arm922t,
arm940t,
ep9312,


arm10tdmi,
arm1020t,


arm9e,
arm946es,
arm966es,
arm968es,
arm10e,
arm1020e,
arm1022e,
xscale,
iwmmxt,


arm926ejs,
arm1026ejs,


arm1136js,
arm1136jfs,
arm1176jzs,
arm1176jzfs,
mpcorenovfp,
mpcore,
# 89 "../../gcc-4.1-20050515/gcc/config/arm/arm.h" 2


  arm_none
};

enum target_cpus
{


# 1 "../../gcc-4.1-20050515/gcc/config/arm/arm-cores.def" 1
# 39 "../../gcc-4.1-20050515/gcc/config/arm/arm-cores.def"
TARGET_CPU_arm2,
TARGET_CPU_arm250,
TARGET_CPU_arm3,


TARGET_CPU_arm6,
TARGET_CPU_arm60,
TARGET_CPU_arm600,
TARGET_CPU_arm610,
TARGET_CPU_arm620,
TARGET_CPU_arm7,
TARGET_CPU_arm7d,
TARGET_CPU_arm7di,
TARGET_CPU_arm70,
TARGET_CPU_arm700,
TARGET_CPU_arm700i,
TARGET_CPU_arm710,
TARGET_CPU_arm720,
TARGET_CPU_arm710c,
TARGET_CPU_arm7100,
TARGET_CPU_arm7500,

TARGET_CPU_arm7500fe,




TARGET_CPU_arm7m,
TARGET_CPU_arm7dm,
TARGET_CPU_arm7dmi,


TARGET_CPU_arm8,
TARGET_CPU_arm810,
TARGET_CPU_strongarm,
TARGET_CPU_strongarm110,
TARGET_CPU_strongarm1100,
TARGET_CPU_strongarm1110,


TARGET_CPU_arm7tdmi,
TARGET_CPU_arm7tdmis,
TARGET_CPU_arm710t,
TARGET_CPU_arm720t,
TARGET_CPU_arm740t,
TARGET_CPU_arm9,
TARGET_CPU_arm9tdmi,
TARGET_CPU_arm920,
TARGET_CPU_arm920t,
TARGET_CPU_arm922t,
TARGET_CPU_arm940t,
TARGET_CPU_ep9312,


TARGET_CPU_arm10tdmi,
TARGET_CPU_arm1020t,


TARGET_CPU_arm9e,
TARGET_CPU_arm946es,
TARGET_CPU_arm966es,
TARGET_CPU_arm968es,
TARGET_CPU_arm10e,
TARGET_CPU_arm1020e,
TARGET_CPU_arm1022e,
TARGET_CPU_xscale,
TARGET_CPU_iwmmxt,


TARGET_CPU_arm926ejs,
TARGET_CPU_arm1026ejs,


TARGET_CPU_arm1136js,
TARGET_CPU_arm1136jfs,
TARGET_CPU_arm1176jzs,
TARGET_CPU_arm1176jzfs,
TARGET_CPU_mpcorenovfp,
TARGET_CPU_mpcore,
# 99 "../../gcc-4.1-20050515/gcc/config/arm/arm.h" 2

  TARGET_CPU_generic
};


extern enum processor_type arm_tune;

typedef enum arm_cond_code
{
  ARM_EQ = 0, ARM_NE, ARM_CS, ARM_CC, ARM_MI, ARM_PL, ARM_VS, ARM_VC,
  ARM_HI, ARM_LS, ARM_GE, ARM_LT, ARM_GT, ARM_LE, ARM_AL, ARM_NV
}
arm_cc;

extern arm_cc arm_current_cc;



extern int arm_target_label;
extern int arm_ccfsm_state;
extern struct _dont_use_rtx_here_ * arm_target_insn;


extern struct _dont_use_rtx_here_ * arm_compare_op0;
extern struct _dont_use_rtx_here_ * arm_compare_op1;

extern struct _dont_use_rtx_here_ * pool_vector_label;


extern int return_used_this_function;

extern struct _dont_use_rtx_here_ * aof_pic_label;
# 223 "../../gcc-4.1-20050515/gcc/config/arm/arm.h"
enum arm_fp_model
{
  ARM_FP_MODEL_UNKNOWN,

  ARM_FP_MODEL_FPA,

  ARM_FP_MODEL_MAVERICK,

  ARM_FP_MODEL_VFP
};

extern enum arm_fp_model arm_fp_model;



enum fputype
{

  FPUTYPE_NONE,

  FPUTYPE_FPA,

  FPUTYPE_FPA_EMU2,

  FPUTYPE_FPA_EMU3,

  FPUTYPE_MAVERICK,

  FPUTYPE_VFP
};





extern enum fputype arm_fpu_tune;


extern enum fputype arm_fpu_arch;

enum float_abi_type
{
  ARM_FLOAT_ABI_SOFT,
  ARM_FLOAT_ABI_SOFTFP,
  ARM_FLOAT_ABI_HARD
};

extern enum float_abi_type arm_float_abi;






enum arm_abi_type
{
  ARM_ABI_APCS,
  ARM_ABI_ATPCS,
  ARM_ABI_AAPCS,
  ARM_ABI_IWMMXT
};

extern enum arm_abi_type arm_abi;






extern int arm_arch3m;


extern int arm_arch4;


extern int arm_arch4t;


extern int arm_arch5;


extern int arm_arch5e;


extern int arm_arch6;


extern int arm_ld_sched;


extern int thumb_code;


extern int arm_tune_strongarm;


extern int arm_arch_cirrus;


extern int arm_arch_iwmmxt;


extern int arm_arch_xscale;


extern int arm_tune_xscale;


extern int arm_tune_wbuf;






extern int arm_cpp_interwork;
# 479 "../../gcc-4.1-20050515/gcc/config/arm/arm.h"
extern int arm_structure_size_boundary;
# 939 "../../gcc-4.1-20050515/gcc/config/arm/arm.h"
enum reg_class
{
  NO_REGS,
  FPA_REGS,
  CIRRUS_REGS,
  VFP_REGS,
  IWMMXT_GR_REGS,
  IWMMXT_REGS,
  LO_REGS,
  STACK_REG,
  BASE_REGS,
  HI_REGS,
  CC_REG,
  VFPCC_REG,
  GENERAL_REGS,
  ALL_REGS,
  LIM_REG_CLASSES
};
# 1478 "../../gcc-4.1-20050515/gcc/config/arm/arm.h"
typedef struct arm_stack_offsets
{
  int saved_args;
  int frame;
  int saved_regs;
  int soft_frame;
  int outgoing_args;
}
arm_stack_offsets;



typedef struct machine_function
{

  struct _dont_use_rtx_here_ * eh_epilogue_sp_ofs;

  int far_jump_used;

  int arg_pointer_live;

  int lr_save_eliminated;

  arm_stack_offsets stack_offsets;

  unsigned long func_type;

  int uses_anonymous_args;


  int sibcall_blocked;



  struct _dont_use_rtx_here_ * call_via[14];
}
machine_function;



extern struct _dont_use_rtx_here_ * thumb_call_via_label[14];




typedef struct
{

  int nregs;

  int iwmmxt_nregs;
  int named_count;
  int nargs;

  int call_cookie;
  int can_split;
} CUMULATIVE_ARGS;
# 2185 "../../gcc-4.1-20050515/gcc/config/arm/arm.h"
extern int arm_pic_register;
# 2204 "../../gcc-4.1-20050515/gcc/config/arm/arm.h"
extern int making_const_table;
# 2512 "../../gcc-4.1-20050515/gcc/config/arm/arm.h"
enum arm_builtins
{
  ARM_BUILTIN_GETWCX,
  ARM_BUILTIN_SETWCX,

  ARM_BUILTIN_WZERO,

  ARM_BUILTIN_WAVG2BR,
  ARM_BUILTIN_WAVG2HR,
  ARM_BUILTIN_WAVG2B,
  ARM_BUILTIN_WAVG2H,

  ARM_BUILTIN_WACCB,
  ARM_BUILTIN_WACCH,
  ARM_BUILTIN_WACCW,

  ARM_BUILTIN_WMACS,
  ARM_BUILTIN_WMACSZ,
  ARM_BUILTIN_WMACU,
  ARM_BUILTIN_WMACUZ,

  ARM_BUILTIN_WSADB,
  ARM_BUILTIN_WSADBZ,
  ARM_BUILTIN_WSADH,
  ARM_BUILTIN_WSADHZ,

  ARM_BUILTIN_WALIGN,

  ARM_BUILTIN_TMIA,
  ARM_BUILTIN_TMIAPH,
  ARM_BUILTIN_TMIABB,
  ARM_BUILTIN_TMIABT,
  ARM_BUILTIN_TMIATB,
  ARM_BUILTIN_TMIATT,

  ARM_BUILTIN_TMOVMSKB,
  ARM_BUILTIN_TMOVMSKH,
  ARM_BUILTIN_TMOVMSKW,

  ARM_BUILTIN_TBCSTB,
  ARM_BUILTIN_TBCSTH,
  ARM_BUILTIN_TBCSTW,

  ARM_BUILTIN_WMADDS,
  ARM_BUILTIN_WMADDU,

  ARM_BUILTIN_WPACKHSS,
  ARM_BUILTIN_WPACKWSS,
  ARM_BUILTIN_WPACKDSS,
  ARM_BUILTIN_WPACKHUS,
  ARM_BUILTIN_WPACKWUS,
  ARM_BUILTIN_WPACKDUS,

  ARM_BUILTIN_WADDB,
  ARM_BUILTIN_WADDH,
  ARM_BUILTIN_WADDW,
  ARM_BUILTIN_WADDSSB,
  ARM_BUILTIN_WADDSSH,
  ARM_BUILTIN_WADDSSW,
  ARM_BUILTIN_WADDUSB,
  ARM_BUILTIN_WADDUSH,
  ARM_BUILTIN_WADDUSW,
  ARM_BUILTIN_WSUBB,
  ARM_BUILTIN_WSUBH,
  ARM_BUILTIN_WSUBW,
  ARM_BUILTIN_WSUBSSB,
  ARM_BUILTIN_WSUBSSH,
  ARM_BUILTIN_WSUBSSW,
  ARM_BUILTIN_WSUBUSB,
  ARM_BUILTIN_WSUBUSH,
  ARM_BUILTIN_WSUBUSW,

  ARM_BUILTIN_WAND,
  ARM_BUILTIN_WANDN,
  ARM_BUILTIN_WOR,
  ARM_BUILTIN_WXOR,

  ARM_BUILTIN_WCMPEQB,
  ARM_BUILTIN_WCMPEQH,
  ARM_BUILTIN_WCMPEQW,
  ARM_BUILTIN_WCMPGTUB,
  ARM_BUILTIN_WCMPGTUH,
  ARM_BUILTIN_WCMPGTUW,
  ARM_BUILTIN_WCMPGTSB,
  ARM_BUILTIN_WCMPGTSH,
  ARM_BUILTIN_WCMPGTSW,

  ARM_BUILTIN_TEXTRMSB,
  ARM_BUILTIN_TEXTRMSH,
  ARM_BUILTIN_TEXTRMSW,
  ARM_BUILTIN_TEXTRMUB,
  ARM_BUILTIN_TEXTRMUH,
  ARM_BUILTIN_TEXTRMUW,
  ARM_BUILTIN_TINSRB,
  ARM_BUILTIN_TINSRH,
  ARM_BUILTIN_TINSRW,

  ARM_BUILTIN_WMAXSW,
  ARM_BUILTIN_WMAXSH,
  ARM_BUILTIN_WMAXSB,
  ARM_BUILTIN_WMAXUW,
  ARM_BUILTIN_WMAXUH,
  ARM_BUILTIN_WMAXUB,
  ARM_BUILTIN_WMINSW,
  ARM_BUILTIN_WMINSH,
  ARM_BUILTIN_WMINSB,
  ARM_BUILTIN_WMINUW,
  ARM_BUILTIN_WMINUH,
  ARM_BUILTIN_WMINUB,

  ARM_BUILTIN_WMULUM,
  ARM_BUILTIN_WMULSM,
  ARM_BUILTIN_WMULUL,

  ARM_BUILTIN_PSADBH,
  ARM_BUILTIN_WSHUFH,

  ARM_BUILTIN_WSLLH,
  ARM_BUILTIN_WSLLW,
  ARM_BUILTIN_WSLLD,
  ARM_BUILTIN_WSRAH,
  ARM_BUILTIN_WSRAW,
  ARM_BUILTIN_WSRAD,
  ARM_BUILTIN_WSRLH,
  ARM_BUILTIN_WSRLW,
  ARM_BUILTIN_WSRLD,
  ARM_BUILTIN_WRORH,
  ARM_BUILTIN_WRORW,
  ARM_BUILTIN_WRORD,
  ARM_BUILTIN_WSLLHI,
  ARM_BUILTIN_WSLLWI,
  ARM_BUILTIN_WSLLDI,
  ARM_BUILTIN_WSRAHI,
  ARM_BUILTIN_WSRAWI,
  ARM_BUILTIN_WSRADI,
  ARM_BUILTIN_WSRLHI,
  ARM_BUILTIN_WSRLWI,
  ARM_BUILTIN_WSRLDI,
  ARM_BUILTIN_WRORHI,
  ARM_BUILTIN_WRORWI,
  ARM_BUILTIN_WRORDI,

  ARM_BUILTIN_WUNPCKIHB,
  ARM_BUILTIN_WUNPCKIHH,
  ARM_BUILTIN_WUNPCKIHW,
  ARM_BUILTIN_WUNPCKILB,
  ARM_BUILTIN_WUNPCKILH,
  ARM_BUILTIN_WUNPCKILW,

  ARM_BUILTIN_WUNPCKEHSB,
  ARM_BUILTIN_WUNPCKEHSH,
  ARM_BUILTIN_WUNPCKEHSW,
  ARM_BUILTIN_WUNPCKEHUB,
  ARM_BUILTIN_WUNPCKEHUH,
  ARM_BUILTIN_WUNPCKEHUW,
  ARM_BUILTIN_WUNPCKELSB,
  ARM_BUILTIN_WUNPCKELSH,
  ARM_BUILTIN_WUNPCKELSW,
  ARM_BUILTIN_WUNPCKELUB,
  ARM_BUILTIN_WUNPCKELUH,
  ARM_BUILTIN_WUNPCKELUW,

  ARM_BUILTIN_MAX
};
# 12 "./tm.h" 2
# 1 "../../gcc-4.1-20050515/gcc/defaults.h" 1
# 13 "./tm.h" 2
# 65 "../../gcc-4.1-20050515/gcc/crtstuff.c" 2
# 1 "../../gcc-4.1-20050515/gcc/unwind-dw2-fde.h" 1
# 36 "../../gcc-4.1-20050515/gcc/unwind-dw2-fde.h"
#pragma GCC visibility push(default)


struct fde_vector
{
  const void *orig_data;
  size_t count;
  const struct dwarf_fde *array[];
};

struct object
{
  void *pc_begin;
  void *tbase;
  void *dbase;
  union {
    const struct dwarf_fde *single;
    struct dwarf_fde **array;
    struct fde_vector *sort;
  } u;

  union {
    struct {
      unsigned long sorted : 1;
      unsigned long from_array : 1;
      unsigned long mixed_encoding : 1;
      unsigned long encoding : 8;


      unsigned long count : 21;
    } b;
    size_t i;
  } s;





  struct object *next;
};





struct old_object
{
  void *pc_begin;
  void *pc_end;
  struct dwarf_fde *fde_begin;
  struct dwarf_fde **fde_array;
  size_t count;
  struct old_object *next;
};

struct dwarf_eh_bases
{
  void *tbase;
  void *dbase;
  void *func;
};


extern void __register_frame_info_bases (const void *, struct object *,
      void *, void *);
extern void __register_frame_info (const void *, struct object *);
extern void __register_frame (void *);
extern void __register_frame_info_table_bases (void *, struct object *,
            void *, void *);
extern void __register_frame_info_table (void *, struct object *);
extern void __register_frame_table (void *);
extern void *__deregister_frame_info (const void *);
extern void *__deregister_frame_info_bases (const void *);
extern void __deregister_frame (void *);


typedef int sword __attribute__ ((mode (SI)));
typedef unsigned int uword __attribute__ ((mode (SI)));
typedef unsigned int uaddr __attribute__ ((mode (pointer)));
typedef int saddr __attribute__ ((mode (pointer)));
typedef unsigned char ubyte;
# 140 "../../gcc-4.1-20050515/gcc/unwind-dw2-fde.h"
struct dwarf_cie
{
  uword length;
  sword CIE_id;
  ubyte version;
  unsigned char augmentation[];
} __attribute__ ((packed, aligned (__alignof__ (void *))));


struct dwarf_fde
{
  uword length;
  sword CIE_delta;
  unsigned char pc_begin[];
} __attribute__ ((packed, aligned (__alignof__ (void *))));

typedef struct dwarf_fde fde;



static __inline__ const struct dwarf_cie *
get_cie (const struct dwarf_fde *f)
{
  return (void *)&f->CIE_delta - f->CIE_delta;
}

static __inline__ const fde *
next_fde (const fde *f)
{
  return (const fde *) ((char *) f + f->length + sizeof (f->length));
}

extern const fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *);

static __inline__ int
last_fde (struct object *obj __attribute__ ((__unused__)), const fde *f)
{



  return f->length == 0;

}


#pragma GCC visibility pop
# 66 "../../gcc-4.1-20050515/gcc/crtstuff.c" 2
# 123 "../../gcc-4.1-20050515/gcc/crtstuff.c"
extern void __register_frame_info (const void *, struct object *)
      __attribute__ ((weak));
extern void __register_frame_info_bases (const void *, struct object *,
      void *, void *)
      __attribute__ ((weak));
extern void *__deregister_frame_info (const void *)
         __attribute__ ((weak));
extern void *__deregister_frame_info_bases (const void *)
         __attribute__ ((weak));
extern void __do_global_ctors_1 (void);


extern void _Jv_RegisterClasses (void *) __attribute__ ((weak));




typedef void (*func_ptr) (void);
# 172 "../../gcc-4.1-20050515/gcc/crtstuff.c"
static func_ptr force_to_data[1] __attribute__ ((__unused__)) = { };
asm ("\t.section\t.ctors,\"aw\",%progbits");
static func_ptr __CTOR_LIST__[1]
  __attribute__ ((__unused__, aligned(sizeof(func_ptr))))
  = { (func_ptr) (-1) };
# 186 "../../gcc-4.1-20050515/gcc/crtstuff.c"
asm ("\t.section\t.dtors,\"aw\",%progbits");
static func_ptr __DTOR_LIST__[1]
  __attribute__ ((aligned(sizeof(func_ptr))))
  = { (func_ptr) (-1) };
# 199 "../../gcc-4.1-20050515/gcc/crtstuff.c"
static char __EH_FRAME_BEGIN__[]
     __attribute__((section(".eh_frame"), aligned(4)))
     = { };





static void *__JCR_LIST__[]
  __attribute__ ((unused, section(".jcr"), aligned(sizeof(void*))))
  = { };
# 228 "../../gcc-4.1-20050515/gcc/crtstuff.c"
void *__dso_handle = 0;




extern void __cxa_finalize (void *) __attribute__ ((weak));
# 254 "../../gcc-4.1-20050515/gcc/crtstuff.c"
static void __attribute__((used))
__do_global_dtors_aux (void)
{

  static func_ptr *p = __DTOR_LIST__ + 1;
  func_ptr f;

  static _Bool completed;

  if (__builtin_expect (completed, 0))
    return;
# 275 "../../gcc-4.1-20050515/gcc/crtstuff.c"
  while ((f = *p))
    {
      p++;
      f ();
    }
# 289 "../../gcc-4.1-20050515/gcc/crtstuff.c"
  if (__deregister_frame_info)
    __deregister_frame_info (__EH_FRAME_BEGIN__);



  completed = 1;
}



static void __attribute__((__used__)) call___do_global_dtors_aux (void) { asm
("\t.section\t.fini"); __do_global_dtors_aux (); asm ("\t.text"); }
# 311 "../../gcc-4.1-20050515/gcc/crtstuff.c"
static void __attribute__((used))
frame_dummy (void)
{

  static struct object object;







  if (__register_frame_info)
    __register_frame_info (__EH_FRAME_BEGIN__, &object);



  if (__JCR_LIST__[0])
    {
      void (*register_classes) (void *) = _Jv_RegisterClasses;
      __asm ("" : "+r" (register_classes));
      if (register_classes)
 register_classes (__JCR_LIST__);
    }

}


static void __attribute__((__used__)) call_frame_dummy (void) { asm
("\t.section\t.init"); frame_dummy (); asm ("\t.text"); }


-- 
           Summary: ARM cross compile build fails with assembler errors in
                    crtstuff.c
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: regression
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: newell at cei dot net
 GCC build triplet: sparc64-unknown-openbsd3.6
  GCC host triplet: sparc64-unknown-openbsd3.6
GCC target triplet: arm-unknown-rtems


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24438


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug bootstrap/24438] ARM cross compile build fails with assembler errors in crtstuff.c
  2005-10-18 21:02 [Bug regression/24438] New: ARM cross compile build fails with assembler errors in crtstuff.c newell at cei dot net
@ 2005-10-18 21:12 ` pinskia at gcc dot gnu dot org
  2005-10-19  9:51 ` rearnsha at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-18 21:12 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2005-10-18 21:12 -------
 as -o crtbegin.o crtstuff.s

The wrong as is being invoked.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|regression                  |bootstrap


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24438


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug bootstrap/24438] ARM cross compile build fails with assembler errors in crtstuff.c
  2005-10-18 21:02 [Bug regression/24438] New: ARM cross compile build fails with assembler errors in crtstuff.c newell at cei dot net
  2005-10-18 21:12 ` [Bug bootstrap/24438] " pinskia at gcc dot gnu dot org
@ 2005-10-19  9:51 ` rearnsha at gcc dot gnu dot org
  2005-10-19 19:48 ` wilson at specifix dot com
  2005-10-20 13:51 ` newell at cei dot net
  3 siblings, 0 replies; 5+ messages in thread
From: rearnsha at gcc dot gnu dot org @ 2005-10-19  9:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from rearnsha at gcc dot gnu dot org  2005-10-19 09:51 -------
Are you sure you've built and installed an ARM assembler (get gnu binutils). 
If so, are you sure you've configured it with with exactly the same --target...
option as you used when configuring gcc, and that it's on your path.
If your target is arm-unknown-rtems, then the assembler should be installed as
arm-unknown-rtems-as


-- 

rearnsha at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24438


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug bootstrap/24438] ARM cross compile build fails with assembler errors in crtstuff.c
  2005-10-18 21:02 [Bug regression/24438] New: ARM cross compile build fails with assembler errors in crtstuff.c newell at cei dot net
  2005-10-18 21:12 ` [Bug bootstrap/24438] " pinskia at gcc dot gnu dot org
  2005-10-19  9:51 ` rearnsha at gcc dot gnu dot org
@ 2005-10-19 19:48 ` wilson at specifix dot com
  2005-10-20 13:51 ` newell at cei dot net
  3 siblings, 0 replies; 5+ messages in thread
From: wilson at specifix dot com @ 2005-10-19 19:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from wilson at specifix dot com  2005-10-19 19:48 -------
Subject: Re:   New: ARM cross compile build fails with
 assembler errors in crtstuff.c

newell at cei dot net wrote:
> Configured with: ../gcc-4.1-20050515/configure --target=arm-elf
> --prefix=/home/newell/xgcc --with-gnu-as --with-gnu-ld --with-newlib --verbose
> --enable-threads --enable-languages=c

Also, this works much better if you use the exact same --prefix for gcc 
and binutils.  If you want gcc installed in /home/newell/xgcc, then you 
should install binutils there too.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24438


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug bootstrap/24438] ARM cross compile build fails with assembler errors in crtstuff.c
  2005-10-18 21:02 [Bug regression/24438] New: ARM cross compile build fails with assembler errors in crtstuff.c newell at cei dot net
                   ` (2 preceding siblings ...)
  2005-10-19 19:48 ` wilson at specifix dot com
@ 2005-10-20 13:51 ` newell at cei dot net
  3 siblings, 0 replies; 5+ messages in thread
From: newell at cei dot net @ 2005-10-20 13:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from newell at cei dot net  2005-10-20 13:51 -------
As many of you suspected, I managed to royally FUBAR the configuration step. 
How embarrassing.  I'm really sorry for the noise.


-- 

newell at cei dot net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24438


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-10-20 13:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-10-18 21:02 [Bug regression/24438] New: ARM cross compile build fails with assembler errors in crtstuff.c newell at cei dot net
2005-10-18 21:12 ` [Bug bootstrap/24438] " pinskia at gcc dot gnu dot org
2005-10-19  9:51 ` rearnsha at gcc dot gnu dot org
2005-10-19 19:48 ` wilson at specifix dot com
2005-10-20 13:51 ` newell at cei dot net

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).