public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: Craig Rodrigues <rodrigc@mediaone.net>
To: nobody@gcc.gnu.org
Cc: gcc-prs@gcc.gnu.org,
Subject: Re: target/5410: NetBSD/i386/ELF configuration should be pushed to 3.0 branch
Date: Thu, 17 Jan 2002 21:06:00 -0000	[thread overview]
Message-ID: <20020118050609.2344.qmail@sources.redhat.com> (raw)

The following reply was made to PR target/5410; it has been noted by GNATS.

From: Craig Rodrigues <rodrigc@mediaone.net>
To: gcc-gnats@gcc.gnu.org
Cc: gcc-patches@gcc.gnu.org, gcc-prs@gcc.gnu.org, zack@codesourcery.com,
   nobody@gcc.gnu.org, gcc-patches@gcc.gnu.org, mark@codesourcery.com
Subject: Re: target/5410: NetBSD/i386/ELF configuration should be pushed to 3.0 branch
Date: Thu, 17 Jan 2002 23:59:30 -0500

 Hi,
 
 Seems reasonable to me for 3.0.4, but not my
 call to make.
 -- 
 Craig Rodrigues        
 http://www.gis.net/~craigr    
 rodrigc@mediaone.net   
 
 2002-01-17  Zack Weinberg  <zack@codesourcery.com>
 
 	PR target/5410
 	* config/i386/netbsd-elf.h: Added.
 	* config.gcc (i[34567]86-*-netbsdelf*): Added.
 
        
 Index: config.gcc
 ===================================================================
 RCS file: /cvs/gcc/egcs/gcc/config.gcc,v
 retrieving revision 1.27.2.18
 diff -u -p -r1.27.2.18 config.gcc
 --- config.gcc	2001/11/18 00:29:45	1.27.2.18
 +++ config.gcc	2002/01/17 09:11:18
 @@ -1134,6 +1134,13 @@ i[34567]86-*-freebsd[12] | i[34567]86-*-
  i[34567]86-*-freebsd*)
  	tm_file="${tm_file} i386/att.h svr4.h ${fbsd_tm_file} i386/freebsd.h i386/perform.h"
  	;;
 +i[34567]86-*-netbsdelf*)
 +	xm_defines=POSIX
 +	tm_file="${tm_file} i386/att.h svr4.h i386/netbsd-elf.h"
 +	tmake_file=t-netbsd
 +	gnu_ld=yes
 +	float_format=i386
 +	;;
  i[34567]86-*-netbsd*)
  	tm_file=i386/netbsd.h
  	tmake_file=t-netbsd
 Index: config/i386/netbsd-elf.h
 ===================================================================
 RCS file: netbsd-elf.h
 diff -N netbsd-elf.h
 --- /dev/null	Tue May  5 13:32:27 1998
 +++ netbsd-elf.h	Thu Jan 17 01:11:18 2002
 @@ -0,0 +1,192 @@
 +/* Definitions of target machine for GNU compiler,
 +   for i386/ELF NetBSD systems.
 +   Copyright (C) 2001 Free Software Foundation, Inc.
 +   Contributed by matthew green <mrg@eterna.com.au>
 +
 +This file is part of GNU CC.
 +
 +GNU CC is free software; you can redistribute it and/or modify
 +it under the terms of the GNU General Public License as published by
 +the Free Software Foundation; either version 2, or (at your option)
 +any later version.
 +
 +GNU CC is distributed in the hope that it will be useful,
 +but WITHOUT ANY WARRANTY; without even the implied warranty of
 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +GNU General Public License for more details.
 +
 +You should have received a copy of the GNU General Public License
 +along with GNU CC; see the file COPYING.  If not, write to
 +the Free Software Foundation, 59 Temple Place - Suite 330,
 +Boston, MA 02111-1307, USA.  */
 +
 +/* Provide a LIB_SPEC appropriate for NetBSD.  Just select the appropriate
 +   libc, depending on whether we're doing profiling; if `-posix' is specified,
 +   link against the appropriate libposix first.  */
 +
 +#undef LIB_SPEC
 +#define LIB_SPEC							\
 +  "%{posix:%{!p:%{!pg:-lposix}}%{p:-lposix_p}%{pg:-lposix_p}}		\
 +   %{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
 +
 +/* Provide a STARTFILE_SPEC appropriate for NetBSD ELF targets.  Here we
 +   provide support for the special GCC option -static.  On ELF targets,
 +   we also add the crtbegin.o file which provides part of the support
 +   for getting C++ file-scope static objects constructed before entering
 +   `main'.  We use the NetBSD crt0. */
 +
 +#undef STARTFILE_SPEC
 +#define	STARTFILE_SPEC \
 + "%{!shared: \
 +     %{pg:gcrt0%O%s} \
 +     %{!pg: \
 +        %{p:gcrt0%O%s} \
 +        %{!p:crt0%O%s}}} \
 +   %{!shared:crtbegin%O%s} %{shared:crtbeginS%O%s}"
 +
 +/* Provide an ENDFILE_SPEC approrpiate for NetBSD ELF targets.  Here we
 +   add crtend.o, which provides part of the support for getting C++
 +   file-scope static objects deconstructed after exiting `main'. */
 +
 +#undef ENDFILE_SPEC
 +#define	ENDFILE_SPEC \
 + "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
 +
 +/* Provide a LINK_SPEC appropriate for a NetBSD/i386 ELF target.  Only
 +   the linker emulation is i386-specific.  The rest are
 +   common to all ELF targets, except for the name of the start function. */
 +
 +#undef LINK_SPEC
 +#define LINK_SPEC \
 + "-m elf_i386 \
 +  %{assert*} %{R*} \
 +  %{shared:-shared} \
 +  %{!shared: \
 +    -dp \
 +    %{!nostdlib:%{!r*:%{!e*:-e __start}}} \
 +    %{!static: \
 +      -dy %{rdynamic:-export-dynamic} \
 +      %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
 +    %{static:-static}}"
 +
 +/* Provide a CPP_SPEC appropriate for NetBSD.  Current we just deal with
 +   the GCC option `-posix'.  */
 +
 +#undef CPP_SPEC
 +#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
 +
 +/* Provide an ASM_SPEC appropriate for NetBSD.  Currently we only deal
 +   with the options for generating PIC code.  */
 +
 +#undef ASM_SPEC
 +#define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k -K}"
 +
 +/* Provide a LIB_SPEC appropriate for NetBSD.  Just select the appropriate
 +   libc, depending on whether we're doing profiling.  */
 +
 +#undef LIB_SPEC
 +#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
 +
 +/* This defines which switch letters take arguments. */
 +#undef SWITCH_TAKES_ARG
 +#define SWITCH_TAKES_ARG(CHAR) \
 +  (DEFAULT_SWITCH_TAKES_ARG(CHAR) \
 +   || (CHAR) == 'R')
 +
 +/* Implicit library calls should use memcpy, not bcopy, etc.  */
 +
 +#define TARGET_MEM_FUNCTIONS
 +
 +/* Names to predefine in the preprocessor for this target machine. */
 +
 +#define CPP_PREDEFINES "\
 +-Di386 -D__NetBSD__ -D__ELF__ -Asystem(unix) -Asystem(NetBSD)"
 +
 +/* Make gcc agree with <machine/ansi.h> */
 +
 +#undef SIZE_TYPE
 +#define SIZE_TYPE "unsigned int"
 +
 +#undef PTRDIFF_TYPE
 +#define PTRDIFF_TYPE "int"
 +
 +#undef WCHAR_TYPE
 +#define WCHAR_TYPE "int"
 +
 +#undef WCHAR_UNSIGNED
 +#define WCHAR_UNSIGNED 0
 +
 +#undef WCHAR_TYPE_SIZE
 +#define WCHAR_TYPE_SIZE 32
 +
 +#undef WINT_TYPE
 +#define WINT_TYPE "int"
 +
 +/* Output assembler code to FILE to increment profiler label # LABELNO
 +   for profiling a function entry.  Under NetBSD/i386, the assembler does
 +   nothing special with -pg. */
 +
 +#undef ASM_APP_ON
 +#define ASM_APP_ON "#APP\n"
 +
 +#undef ASM_APP_OFF
 +#define ASM_APP_OFF "#NO_APP\n"
 +
 +#undef ASM_FINAL_SPEC
 +#define ASM_FINAL_SPEC "%{pipe:-}"
 +
 +#undef DBX_REGISTER_NUMBER
 +#define DBX_REGISTER_NUMBER(n)  svr4_dbx_register_map[n]
 +
 +#undef  NO_PROFILE_COUNTERS
 +#define NO_PROFILE_COUNTERS
 +
 +#undef HAS_INIT_SECTION
 +
 +#undef DEFAULT_VTABLE_THUNKS
 +#define DEFAULT_VTABLE_THUNKS 1
 +
 +/* This is how we tell the assembler that two symbols have the same value.  */
 +
 +#define ASM_OUTPUT_DEF(FILE,NAME1,NAME2) \
 +  do { assemble_name(FILE, NAME1); 	 \
 +       fputs(" = ", FILE);		 \
 +       assemble_name(FILE, NAME2);	 \
 +       fputc('\n', FILE); } while (0)
 +
 +/* A C statement to output to the stdio stream FILE an assembler
 +   command to advance the location counter to a multiple of 1<<LOG
 +   bytes if it is within MAX_SKIP bytes.
 +
 +   This is used to align code labels according to Intel recommendations.  */
 +
 +#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
 +#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP)					\
 +  if ((LOG) != 0) {														\
 +    if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG));	\
 +    else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));	\
 +  }
 +#endif
 +
 +/* This is how to output an element of a case-vector that is relative.
 +   This is only used for PIC code.  */
 +#undef ASM_OUTPUT_ADDR_DIFF_ELT
 +#define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
 +  fprintf ((FILE), "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE)
 +
 +/* Indicate that jump tables go in the text section.  This is
 +   necessary when compiling PIC code.  */
 +#define JUMP_TABLES_IN_TEXT_SECTION (flag_pic)
 +
 +/*
 + * We always use gas here, so we don't worry about ECOFF assembler problems.
 + */
 +#undef TARGET_GAS
 +#define TARGET_GAS	1
 +
 +/* Default to pcc-struct-return, because this is the ELF abi and
 +   we don't care about compatibility with older gcc versions.  */
 +#define DEFAULT_PCC_STRUCT_RETURN 1
 +
 +#undef TARGET_VERSION
 +#define TARGET_VERSION fprintf (stderr, " (NetBSD/i386 ELF target)");


             reply	other threads:[~2002-01-18  5:06 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-17 21:06 Craig Rodrigues [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-01-21  1:17 zack
2002-01-17  1:16 zack

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020118050609.2344.qmail@sources.redhat.com \
    --to=rodrigc@mediaone.net \
    --cc=gcc-prs@gcc.gnu.org \
    --cc=nobody@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).