Hello! Attached patch enables alpha to use generic config/elfos.h headers on linux and *bsd targets. The most important difference to generic elfos.h is in * config/alpha/elf.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Undefine. and * config/alpha/alpha.h (NO_DOLLAR_IN_LABEL): Undefine. Otherwise, the patch is very carefully written to not change anything in alpha.h (it only #undefines some symbols before #define and removes READOLNY_DATA_SECTION_ASM_OP that is always defined elsewhere), so VMS target should continue to work without problems. 2012-03-21 Uros Bizjak * config.gcc (alpha*-*-linux*): Add elfos.h to tm_file. (alpha*-*-freebsd*): Ditto. (alpha*-*-netbsd*): Ditto. (alpha*-*-openbsd*): Ditto. * config/alpha/elf.h (OBJECT_FORMAT_ELF): Remove. (DWARF2_DEBUGGING_INFO): Remove. (PREFERRED_DEBUGGING_TYPE): Remove. (ASM_FINAL_SPEC): Remove. (IDENT_ASM_OP): Remove. (ASM_OUTPUT_IDENT): Remove. (SKIP_ASM_OP): Remove. (ASM_OUTPUT_SKIP): Remove. (ALIGN_ASM_OP): Remove. (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove. (ASM_OUTPUT_CASE_LABEL): Remove. (ASM_OUTPUT_EXTERNAL_LIBCALL): Remove. (COMMON_ASM_OP): Remove. (ASM_OUTPUT_ALIGNED_COMMON): Remove. (ASCII_DATA_ASM_OP): Remove. (READONLY_DATA_SECTION_ASM_OP): Remove. (INIT_SECTION_ASM_OP): Remove. (FINI_SECTION_ASM_OP): Remove. (ASM_SECTION_START_OP): Remove. (ASM_OUTPUT_SECTION_START_FILE): Remove. (TARGET_ASM_NAMED_SECTION): Remove. (TARGET_ASM_SELECT_SECTION): Remove. (MAKE_DECL_ONE_ONLY): Remove. (TYPE_ASM_OP): Remove. (SIZE_ASM_OP): Remove. (ASM_WEAKEN_LABEL): Remove. (TYPE_OPERAND_FMT): Remove. (ASM_DECLARE_RESULT): Remove. (ASM_DECLARE_OBJECT_NAME): Remove. (ASM_FINISH_DECLARE_OBJECT): Remove. (ELF_ASCII_ESCAPES): Remove. (ELF_STRING_LIMIT): Remove. (STRING_ASM_OP): Remove. (ASM_OUTPUT_EXTERNAL): Remove. (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Undefine. * config/alpha/alpha.h (PCC_BITFIELD_TYPE_MATTERS): Undefine before define. (ASM_DECLARE_FUNCTION_NAME): Ditto. (ASM_DECLARE_FUNCTION_SIZE): Ditto. (USER_LABEL_PREFIX): Ditto. (ASM_GENERATE_INTERNAL_LABEL): Ditto. (ASM_OUTPUT_ASCII): Ditto. (ASM_OUTPUT_SKIP): Ditto. (READONLY_DATA_SECTION_ASM_OP): Remove. (ASM_OUTPUT_CASE_LABEL): Remove. (NO_DOLLAR_IN_LABEL): Undefine. Patch was bootstrapped and regression tested on alphaev68-pc-linux-gnu. OK for mainline? Uros.