This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

hook-ize ASM_FILE_START - final version


Changes from previous version:

* Make modifications to tm.texi and mmix.c suggested by Hans-Peter
  Nilsson.
* Update for C89ification of alpha and h8300 ports.
* Find and remove a few more stray mentions of ASM_FILE_START.
* Poison ASM_FILE_START.

I haven't heard any further concerns from port maintainers so I'm
going to go ahead and check this in.  Please let me know if there are
problems.

z "change log to choke a horse" w

        * target.h (asm_out.file_start, file_start_app_off,
        file_start_file_directive): New hooks.
        * target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
        TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
        New hook-definition macros.
        * doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
        * varasm.c (default_file_start): New.
        * output.h: Prototype it.
        * toplev.c (init_asm_output): Use targetm.asm_out.file_start.
        * system.h: Poison ASM_FILE_START.

        * config/alpha/alpha.c (alpha_write_verstamp): Delete.
        (alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
        (unicosmk_asm_file_start): Rename unicosmk_file_start,
        make static, take no arguments.
        (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
        TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
        * config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
        TARGET_ASM_FILE_END.  Remove reference to ASM_FILE_START in
        comment.
        * config/arc/arc.c (arc_asm_file_start): Rename
        arc_file_start, take no arguments, make static.
        (TARGET_ASM_FILE_START): Set it.
        * config/arm/arm.c (aof_file_start): New static function.
        (TARGET_ASM_FILE_START): Set it, when appropriate.
        * config/arm/coff.h, config/arm/elf.h:
        Set TARGET_ASM_FILE_START_APP_OFF to true.
        * config/avr/avr.c (asm_file_start): Rename avr_file_start,
        take no arguments, make static.
        (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
        Set them.
        * config/c4x/c4x.c (c4x_file_start): New static function.
        (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
        Set them.
        * config/cris/cris.c (cris_file_start): New static function.
        (TARGET_ASM_FILE_START): Set it.
        * config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
        dsp16xx_file_start, make static.
        (luxworks_dsp16xx_file_start): Delete.
        (TARGET_ASM_FILE_START): Set it.
        * config/h8300/h8300.c (asm_file_start): Rename
        h8300_file_start, make static, take no arguments.
        (TARGET_ASM_FILE_START): Set it.
        * config/i370/i370.c (i370_file_start): New static function.
        (TARGET_ASM_FILE_START): Set it.
        * config/i386/i386.c (x86_file_start): New static function.
        (TARGET_ASM_FILE_START): Set it.
        * config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
        X86_FILE_START_FLTUSED): New macros, default to false.
        * config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
        * config/i386/sysv4.h, config/i386/sco5.h: Override
        X86_FILE_START_VERSION_DIRECTIVE to true.
        * config/ia64/ia64.c (ia64_file_start): New static function.
        (TARGET_ASM_FILE_START): Set it.
        (emit_safe_across_calls): Take no arguments.
        * config/ia64/ia64.md: Update to match.
        * config/m32r/m32r.c (m32r_asm_file_start): Rename
        m32r_file_start, make static, take no arguments.
        (TARGET_ASM_FILE_START): Set it.
        * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
        m68hc11_file_start, make static, take no arguments.
        (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
        (print_options): Delete.
        * config/m68k/m68k.c (m68k_hp320_file_start): New static function.
        (TARGET_ASM_FILE_START_APP_OFF): Set.
        * config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
        m68k_hp320_file_start.
        * config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
        Make static, take no arguments.
        (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
        * config/mmix/mmix.c (mmix_asm_file_start): Rename
        mmix_file_start, make static, take no arguments.
        (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
        * config/mn10300/mn10300.c (asm_file_start): Rename
        mn10300_file_start, make static, take no arguments.
        (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
        * config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
        * config/pa/pa.c (pa_file_start_level, pa_file_start_space,
        pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
        pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
        pa_hpux64_hpas_file_start): New static functions.
        * config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
        * config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
        pa_linux_file_start.
        * config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
        pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
        appropriate.
        * config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
        * config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
        (rs6000_file_start): Make static, take no arguments.  Reset
        default_cpu under certain conditions.
        (rs6000_xcoff_file_start): New function.
        * config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
        * config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
        TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
        * config/sh/sh.c (output_file_start): Rename
        sh_file_start, make static, take no arguments.  Merge in old
        code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
        (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
        * config/sh/sh.c (TARGET_ELF): Define to 0.
        * config/sh/elf.h (TARGET_ELF): Redefine to 1.
        * config/v850/v850.c (asm_file_start): Delete.
        (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
        * config/vax/vax.c (vax_file_start): New static function.
        (TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.

        * config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
        * config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
        * config/i386/att.h, config/i386/gas.h, config/i386/linux.h
        * config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
        * config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
        * config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.

        * config/darwin.h, config/elfos.h, config/alpha/elf.h
        * config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
        * config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
        * config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
        * config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
        * config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
        * config/i370/i370.h, config/i386/att.h, config/i386/gas.h
        * config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
        * config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
        * config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
        * config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
        * config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
        * config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
        * config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
        * config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
        * config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
        * config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
        * config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.

        * config/alpha/alpha-protos.h, config/arc/arc-protos.h
        * config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
        * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
        * config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
        * config/mips/mips-protos.h, config/mmix/mmix-protos.h
        * config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
        * config/sh/sh-protos.h, config/v850/v850-protos.h: Update.

        * xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
        Remove reference to ASM_FILE_START in comment.
        * config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
        * config/arm/linux-gas.h, config/arm/netbsd-elf.h
        * config/arm/netbsd.h: Delete definition of ARM_OS_NAME.

Attachment: asm-file-start.diff.gz
Description: application/gzip


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]