public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Insulting comments in cpp.texi...
@ 1997-08-27  0:20 Peter Seebach
  1997-08-27  0:58 ` More Open Server MULTILIB patches J. Kean Johnston
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Peter Seebach @ 1997-08-27  0:20 UTC (permalink / raw)
  To: egcs

I've reported these before, as bugs in gcc's docs, but, since no one cares
about ANSI, nothing happened.

At least one of these is not merely vaguely disquieting to me, but blatantly
and completely wrong, blaming ANSI for gcc's decision about how to handle
undefined behavior.  I think this one, if nothing else, *really* ought to
be fixed; it reflects badly on the docs to be completely wrong.  :)

1.  In the discussion of #include, cpp.texi blames ANSI for the interpretation
of "foo\bar.h", et al.  This is wrong; ANSI explicitly renders undefined any
occurance of '\' inside a header name (of either sort), so gcc may do
whatever it wants.  It's arguably polite to DOS users to support '\' as
a literal, but it's not *ANSI* that wants this.  We say it's undefined, and
I'd personally like to see it be treated as a syntax error.

2.  It is gratuitous to make snide comments about how useless ANSI is.  I'm
sure it's useless to some people, but -pedantic has saved my life more than
once when I've been writing code for a machine I don't have, using a compiler
I've never seen.  A couple of examples:
	A.  The tone of the discussion of how
		"foo\\
		bar"
	works seems hostile.  Newlines in string literals are silly at
	best (given that you can use '\n'), and I don't see why anyone
	wants them.  :)
	B.  "but in practice the consequences of having strict ANSI Standard
	C make it undesirable to do this".  Hmph.  That's completely
	gratuitous, and simply *not true* for a non-empty set of real
	users, including both professional programmers, and students.
	C.  In the discussion of self-referential macros, the documentation
	says "It is not clear that this behavior would ever be useful, but
	it is specified by the ANSI C Standard"...  Well, no, it isn't clear
	that it would ever be useful, but the committee preferred to define
	the language without infinitely recursive macros, and this was the
	easiest way to give the semantics people expect from sane nesting
	of macro expansions.  I don't think the comment adds anything.

On a side note, it might be more informative to spell "ANSI" as "ISO" these
days, the ANSI standard has been tracking ISO since 1989 or so, when the
ISO standards group adopted the ANSI standard and changed a couple of
paragraphs.  Ever since that embarassing thing, the committees have had
co-located meetings and made sure that the standards remain in sync at all
times.

Anyway, I don't know if any of these can or will be fixed; I personally
would *LOVE* to see the comment about include file names fixed, because
it's a damnable libel.  I've met many of the people who worked on C89, and
none of them are anywhere near as stupid as that makes them look.

-s

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

* Re: SCO Open Server 5 patches
  1997-08-27  0:20 Insulting comments in cpp.texi Peter Seebach
  1997-08-27  0:58 ` More Open Server MULTILIB patches J. Kean Johnston
@ 1997-08-27  0:58 ` Jeffrey A Law
  1997-08-27  0:59 ` more on my FreeBSD problem Jason Merrill
  1997-08-27  1:30 ` Jeffrey A Law
  3 siblings, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1997-08-27  0:58 UTC (permalink / raw)
  To: egcs

  In message <Pine.SCO.3.96.970825165501.17511A-100000@hyperion.pdev.sco.com>yo
u write:
  > Hello.
  > 
  > Here is patch for SCO Open Server. It makes ELF the default mode of
  > compilation rather than COFF, and handles the multiple libraries
  > properly for the first time. I used crtbeginS.o as a hack to get
  > COFF versions of crtbegin.o and crtend.o compiled properly for
  > COFF. The specs file takes care of this. The default crtbegin.o
  > and crtend.o are both compiled in PIC mode anyway.
  > 
  > The multilib stuff makes the target fragment a LOT saner. Users can
  > generate COFF binaries by using -mcoff, and -melf will just be a
  > no-op and will remain for backwards compatibility.
Cool.  It all looks quite reasonable.

However, I don't see a copyright assignment on file for you
at the FSF -- I think this patch is significant enough to require
such an assignment (and probably a disclaimer too).

On the egcs home page you'll find instructions for submitting a
copyright assignment to the FSF.  Once the assignment and disclaimer
has been filed we'll install these patches.

jeff

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

* More Open Server MULTILIB patches
  1997-08-27  0:20 Insulting comments in cpp.texi Peter Seebach
@ 1997-08-27  0:58 ` J. Kean Johnston
  1997-08-27  0:58 ` SCO Open Server 5 patches Jeffrey A Law
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: J. Kean Johnston @ 1997-08-27  0:58 UTC (permalink / raw)
  To: egcs

Hi all.

Below is a patch to fix the Open Server multilib stuff. This should be
applied over my previous patch. I believe this is now correct. Thank
you for all the help.

JKJ

*** config/i386/sco5.h.jkj	Mon Aug 25 21:21:23 1997
--- config/i386/sco5.h	Mon Aug 25 21:23:55 1997
***************
*** 737,742 ****
--- 737,748 ----
  #define WCHAR_TYPE		"long int"
  #define WCHAR_TYPE_SIZE		BITS_PER_WORD
  
+ /*
+  * New for multilib support. Set the default switches for multilib,
+  * which is -melf.
+  */
+ #define MULTILIB_DEFAULTS { "melf" }
+ 
  \f
  /* Please note that these specs may look messy but they are required in
     order to emulate the SCO Development system as closely as possible.
*** config/i386/t-sco5.jkj	Mon Aug 25 21:23:58 1997
--- config/i386/t-sco5	Tue Aug 26 17:48:04 1997
***************
*** 1,7 ****
  # The pushl in CTOR initialization interferes with frame pointer elimination.
! CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer
  CRTSTUFF_T_CFLAGS_S = -mcoff -fno-omit-frame-pointer
  
! MULTILIB_OPTIONS=mcoff
  LIBGCC=stmp-multilib
  INSTALL_LIBGCC=install-multilib
--- 1,16 ----
  # The pushl in CTOR initialization interferes with frame pointer elimination.
! CRTSTUFF_T_CFLAGS   = -fPIC -fno-omit-frame-pointer
  CRTSTUFF_T_CFLAGS_S = -mcoff -fno-omit-frame-pointer
  
! #
! # I am still a little unsure of the multilib architecture. The following
! # 4 lines are based on advice from meissner@cygnus.com.
! #
! MULTILIB_OPTIONS    = mcoff/fPIC
! MULTILIB_DIRNAMES   = coff pic
! MULTILIB_EXCEPTIONS = *mcoff*/*fPIC*
! MULTILIB_MATCHES    = fPIC=fpic
! MULTILIB_EXTRA_OPTS =
! 
  LIBGCC=stmp-multilib
  INSTALL_LIBGCC=install-multilib

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

* Re: more on my FreeBSD problem
  1997-08-27  0:20 Insulting comments in cpp.texi Peter Seebach
  1997-08-27  0:58 ` More Open Server MULTILIB patches J. Kean Johnston
  1997-08-27  0:58 ` SCO Open Server 5 patches Jeffrey A Law
@ 1997-08-27  0:59 ` Jason Merrill
  1997-08-27  1:30 ` Jeffrey A Law
  3 siblings, 0 replies; 7+ messages in thread
From: Jason Merrill @ 1997-08-27  0:59 UTC (permalink / raw)
  To: egcs

>>>>> Kate Hedstrom <kate@ahab.Rutgers.EDU> writes:

> The failure to link a small C++ program lead me to go looking
> for that libstdc++.  It turns out that it hadn't been built because
> one of the source files couldn't find the "exception" include file.

This is a bug in several of the BSD configurations; they override USER_H,
which prevents the C++ headers from being installed.

Jason

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

* Re: more on my FreeBSD problem
  1997-08-27  0:20 Insulting comments in cpp.texi Peter Seebach
                   ` (2 preceding siblings ...)
  1997-08-27  0:59 ` more on my FreeBSD problem Jason Merrill
@ 1997-08-27  1:30 ` Jeffrey A Law
  3 siblings, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1997-08-27  1:30 UTC (permalink / raw)
  To: egcs

  In message <u9bu2k5tkx.fsf@yorick.cygnus.com>you write:
  > >>>>> Kate Hedstrom <kate@ahab.Rutgers.EDU> writes:
  > 
  > > The failure to link a small C++ program lead me to go looking
  > > for that libstdc++.  It turns out that it hadn't been built because
  > > one of the source files couldn't find the "exception" include file.
  > 
  > This is a bug in several of the BSD configurations; they override USER_H,
  > which prevents the C++ headers from being installed.
Oh...  Yea, I even know a few that do that.

Is there any way to prevent the "C" header file from being installed,
but to still get the C++ stuff?

jeff

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

* Re: SCO Open Server 5 patches
       [not found] <Pine.SCO.3.96.970825165501.17511A-100000@hyperion.pdev.sco.com>
@ 1997-09-22 10:24 ` Jeffrey A Law
  0 siblings, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1997-09-22 10:24 UTC (permalink / raw)
  To: J. Kean Johnston; +Cc: EGCS Mailing List

  In message <Pine.SCO.3.96.970825165501.17511A-100000@hyperion.pdev.sco.com>you write:
  > Here is patch for SCO Open Server.
I just got notification that your assignments arrived at the FSF
and I've installed your sco5 patch.  Note the xm-sco5 changes are
no longer needed, so I didn't apply them.

It'll appear in the next snapshot (ie after 970922); please
test it then to make sure I didn't goof anything during the
merge.

jeff


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

* SCO Open Server 5 patches
@ 1997-08-25 23:43 J. Kean Johnston
  0 siblings, 0 replies; 7+ messages in thread
From: J. Kean Johnston @ 1997-08-25 23:43 UTC (permalink / raw)
  To: egcs

Hello.

Here is patch for SCO Open Server. It makes ELF the default mode of
compilation rather than COFF, and handles the multiple libraries
properly for the first time. I used crtbeginS.o as a hack to get
COFF versions of crtbegin.o and crtend.o compiled properly for
COFF. The specs file takes care of this. The default crtbegin.o
and crtend.o are both compiled in PIC mode anyway.

The multilib stuff makes the target fragment a LOT saner. Users can
generate COFF binaries by using -mcoff, and -melf will just be a
no-op and will remain for backwards compatibility.

JKJ

*** ChangeLog.jkj	Mon Aug 25 15:57:11 1997
--- ChangeLog	Mon Aug 25 16:06:36 1997
***************
*** 1,3 ****
--- 1,9 ----
+ Mon Aug 25 15:58:17 1997  J. Kean Johnston  
+ 
+ 	* config/i386/sco5.h: Make ELF default file format and added -mcoff
+ 	* config/i386/t-sco5: Add new -mcoff multilib support
+ 	* config/i386/xm-sco5.h: Define HAVE_STRERROR and NO_SYS_SIGLIST
+ 
  Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
  
  	* version.c: Bump for new snapshot.
*** config/i386/t-sco5.jkj	Sun Aug 24 23:21:04 1997
--- config/i386/t-sco5	Sun Aug 24 23:23:53 1997
***************
*** 1,91 ****
  # The pushl in CTOR initialization interferes with frame pointer elimination.
! CRTSTUFF_T_CFLAGS =-fno-omit-frame-pointer
! CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -melf -fPIC 
! 
! #
! # Becuase we can be compiling for either elf or coff, we need to create
! # special versions of libgcc.a. It IS possible for this not to be done
! # and let the SCO linker transform the coff objects (which are created
! # by default) into elf objects. However, this is inefficient. So,
! # we create a libgcc-elf.a, which is used in the specs in sco5.h.
! # These are the rules for doing that.
! #
! # NOTE: This is duplicated directly from Makefile.in. If you change it
! # there, be sure to change things here!
! #
! EXTRA_PARTS = libgcc-elf.a crtbegin.o crtend.o crtbeginS.o crtendS.o
! TAROUTOPTS = xpf
! 
! libgcc1-elf.a: stamp-crtS libgcc1.c $(CONFIG_H) $(LIB1FUNCS_EXTRA) config.status
! 	-rm -f tmplibgcc1-elf.a
! 	for name in $(LIB1FUNCS); \
! 	do \
! 	  echo $${name}; \
! 	  rm -f $${name}$(objext); \
! 	  $(OLDCC) -DIN_LIBGCC1 -dy $(CCLIBFLAGS) $(INCLUDES) -c -DL$${name} $(srcdir)/libgcc1.c; \
! 	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
! 	  mv libgcc1$(objext) $${name}$(objext); \
! 	  $(OLDAR) $(OLDAR_FLAGS) tmplibgcc1-elf.a $${name}$(objext); \
! 	  rm -f $${name}$(objext); \
! 	done
! 	for file in .. $(LIB1FUNCS_EXTRA); \
! 	do \
! 	  if [ x$${file} != x.. ]; then \
! 	    name=`echo $${file} | sed -e 's/[.][cS]$$//' -e 's/[.]asm$$//'`; \
! 	    echo $${name}; \
! 	    if [ $${name}.asm = $${file} ]; then \
! 	      cp $${file} $${name}.s || exit 1; file=$${name}.s; \
! 	    else true; fi; \
! 	    $(OLDCC) -DIN_LIBGCC1 -dy $(CCLIBFLAGS) $(INCLUDES) -c $${file}; \
! 	    if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
! 	    $(OLDAR) $(OLDAR_FLAGS) tmplibgcc1-elf.a $${name}$(objext); \
! 	    if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
! 	    rm -f $${name}.s $${name}$(objext); \
! 	  else true; \
! 	  fi; \
! 	done
! 	-if $(RANLIB_TEST) ; then $(RANLIB) tmplibgcc1-elf.a; else true; fi
! 	mv tmplibgcc1-elf.a libgcc1-elf.a
! 
! libgcc2-elf.a: stamp-crtS libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \
!    machmode.h longlong.h gbl-ctors.h config.status
! 	-rm -f tmplibgcc2-elf.a
! 	for name in $(LIB2FUNCS); \
! 	do \
! 	  echo $${name}; \
! 	  $(GCC_FOR_TARGET) -melf $(LIBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \
! 	      $(srcdir)/libgcc2.c -o $${name}$(objext); \
! 	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
! 	  $(AR) $(AR_FLAGS) tmplibgcc2-elf.a $${name}$(objext); \
! 	  rm -f $${name}$(objext); \
! 	done
! 	for file in .. $(LIB2FUNCS_EXTRA); \
! 	do \
! 	  if [ x$${file} != x.. ]; then \
! 	    name=`echo $${file} | sed -e 's/[.][cS]$$//' -e 's/[.]asm$$//'`; \
! 	    oname=` echo $${name} | sed -e 's,.*/,,'`; \
! 	    echo $${name}; \
! 	    if [ $${name}.asm = $${file} ]; then \
! 	      cp $${file} $${name}.s || exit 1; file=$${name}.s; \
! 	    else true; fi; \
! 	    $(GCC_FOR_TARGET) -melf $(LIBGCC2_CFLAGS) $(INCLUDES) -c $${file}; \
! 	    if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
! 	    $(AR) $(AR_FLAGS) tmplibgcc2-elf.a $${oname}$(objext); \
! 	    rm -f $${name}.s $${oname}$(objext); \
! 	  else true; \
! 	  fi; \
! 	done
! 	mv tmplibgcc2-elf.a libgcc2-elf.a
! 
! # Combine the various libraries into a single library, libgcc.a.
! libgcc-elf.a: libgcc1-elf.a libgcc2-elf.a
! 	-rm -rf tmplibgcc-elf.a libgcc-elf.a tmpcopy
! 	mkdir tmpcopy
! 	-(cd tmpcopy; $(AR) x ../libgcc1-elf.a)
! 	-(cd tmpcopy; chmod +w * > /dev/null 2>&1)
! 	-(cd tmpcopy; $(AR) x ../libgcc2-elf.a)
! 	(cd tmpcopy; $(AR) $(AR_FLAGS) ../tmplibgcc-elf.a *$(objext))
! 	rm -rf tmpcopy
! 	-if $(RANLIB_TEST) ; then $(RANLIB) tmplibgcc-elf.a; else true; fi
! 	mv tmplibgcc-elf.a libgcc-elf.a
  
--- 1,7 ----
  # The pushl in CTOR initialization interferes with frame pointer elimination.
! CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer
! CRTSTUFF_T_CFLAGS_S = -mcoff -fno-omit-frame-pointer
  
+ MULTILIB_OPTIONS=mcoff
+ LIBGCC=stmp-multilib
+ INSTALL_LIBGCC=install-multilib
*** config/i386/xm-sco5.h.jkj	Sun Aug 24 23:34:38 1997
--- config/i386/xm-sco5.h	Sun Aug 24 23:36:14 1997
***************
*** 5,8 ****
--- 5,10 ----
  /* Big buffers improve performance.  */
  
  #define IO_BUFFER_SIZE (0x8000 - 1024)
+ #define HAVE_STRERROR
+ #define NO_SYS_SIGLIST
  
*** config/i386/sco5.h.jkj	Sun Aug 24 22:29:57 1997
--- config/i386/sco5.h	Mon Aug 25 15:51:17 1997
***************
*** 759,778 ****
     does.
  
     SCO also allows you to compile, link and generate either ELF or COFF
!    binaries. With gcc, as with the SCO compiler, the default is coff.
!    Specify -melf to gcc to produce elf binaries. -fpic will get the
     assembler and linker to produce PIC code.
  */
  
  /* Set up assembler flags for PIC and ELF compilations */
  #undef ASM_SPEC
  #define ASM_SPEC \
!  "-b %{melf:elf}%{!melf:coff \
!    %{static:%e-static only valid with -melf} \
!    %{shared:%e-shared only valid with -melf} \
!    %{symbolic:%e-symbolic only valid with -melf}} \
    %{Ym,*} %{Yd,*} %{Wa,*:%*} \
!   %{melf:-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF %{Qn:} %{!Qy:-Qn}}"
  
  /* Use crt1.o as a startup file and crtn.o as a closing file.  */
  
--- 759,778 ----
     does.
  
     SCO also allows you to compile, link and generate either ELF or COFF
!    binaries. With gcc, unlike the SCO compiler, the default is ELF.
!    Specify -mcoff to gcc to produce elf binaries. -fpic will get the
     assembler and linker to produce PIC code.
  */
  
  /* Set up assembler flags for PIC and ELF compilations */
  #undef ASM_SPEC
  #define ASM_SPEC \
!  "-b %{!mcoff:elf}%{mcoff:coff \
!    %{static:%e-static not valid with -mcoff} \
!    %{shared:%e-shared not valid with -mcoff} \
!    %{symbolic:%e-symbolic not valid with -mcoff}} \
    %{Ym,*} %{Yd,*} %{Wa,*:%*} \
!   %{!mcoff:-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF %{Qn:} %{!Qy:-Qn}}"
  
  /* Use crt1.o as a startup file and crtn.o as a closing file.  */
  
***************
*** 790,802 ****
         %{!Xc:%{Xk:values-Xk.o%s} \
          %{!Xk:%{Xt:values-Xt.o%s} \
           %{!Xt:values-Xa.o%s}}}}}} \
!   %{!melf:crtbegin.o%s} \
!   %{melf:%{static:crtbegin.o%s}%{!static:crtbeginS.o%s}}"
  
  #undef ENDFILE_SPEC
  #define ENDFILE_SPEC \
!  "%{melf:%{!static:crtendS.o%s}%{static:crtend.o%s}} \
!   %{!melf:crtend.o%s} \
    %{pg:gcrtn.o%s}%{!pg:crtn.o%s}"
  
  #undef CPP_PREDEFINES
--- 790,802 ----
         %{!Xc:%{Xk:values-Xk.o%s} \
          %{!Xk:%{Xt:values-Xt.o%s} \
           %{!Xt:values-Xa.o%s}}}}}} \
!   %{mcoff:crtbeginS.o%s} \
!   %{!mcoff:%{!static:crtbegin.o%s}%{static:crtbeginS.o%s}}"
  
  #undef ENDFILE_SPEC
  #define ENDFILE_SPEC \
!  "%{!mcoff:%{!static:crtend.o%s}%{static:crtendS.o%s}} \
!   %{mcoff:crtendS.o%s} \
    %{pg:gcrtn.o%s}%{!pg:crtn.o%s}"
  
  #undef CPP_PREDEFINES
***************
*** 807,814 ****
  
  #undef CPP_SPEC
  #define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] \
!   %{fpic:%{!melf:%e-fpic is only valid with -melf}} \
!   %{fPIC:%{!melf:%e-fPIC is only valid with -melf}} \
    -D__i386 -D__unix -D_SCO_DS=1 -D_M_I386 -D_M_XENIX -D_M_UNIX \
    %{!Xods30:-D_STRICT_NAMES} \
    %{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \
--- 807,814 ----
  
  #undef CPP_SPEC
  #define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] \
!   %{fpic:%{mcoff:%e-fpic is not valid with -mcoff}} \
!   %{fPIC:%{mcoff:%e-fPIC is not valid with -mcoff}} \
    -D__i386 -D__unix -D_SCO_DS=1 -D_M_I386 -D_M_XENIX -D_M_UNIX \
    %{!Xods30:-D_STRICT_NAMES} \
    %{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \
***************
*** 828,836 ****
                        -DM_WORDSWAP}}}} \
    %{scointl:-DM_INTERNAT -D_M_INTERNAT} \
    %{traditional:-D_KR -D_SVID -D_NO_PROTOTYPE} \
!   %{melf:-D_SCO_ELF} \
!   %{!melf:-D_M_COFF -D_SCO_COFF} \
!   %{melf:%{fpic:-D__PIC__ -D__pic__} \
           %{fPIC:%{!fpic:-D__PIC__ -D__pic__}}} \
    %{Xa:-D_SCO_C_DIALECT=1} \
    %{!Xa:%{Xc:-D_SCO_C_DIALECT=3} \
--- 828,836 ----
                        -DM_WORDSWAP}}}} \
    %{scointl:-DM_INTERNAT -D_M_INTERNAT} \
    %{traditional:-D_KR -D_SVID -D_NO_PROTOTYPE} \
!   %{!mcoff:-D_SCO_ELF} \
!   %{mcoff:-D_M_COFF -D_SCO_COFF} \
!   %{!mcoff:%{fpic:-D__PIC__ -D__pic__} \
           %{fPIC:%{!fpic:-D__PIC__ -D__pic__}}} \
    %{Xa:-D_SCO_C_DIALECT=1} \
    %{!Xa:%{Xc:-D_SCO_C_DIALECT=3} \
***************
*** 841,859 ****
  
  #undef LINK_SPEC
  #define LINK_SPEC \
!  "-b %{melf:elf}%{!melf:coff \
!    %{static:%e-static only valid with -melf} \
!    %{shared:%e-shared only valid with -melf} \
!    %{symbolic:%e-symbolic only valid with -melf} \
!    %{fpic:%e-fpic only valid with -melf} \
!    %{fPIC:%e-fPIC only valid with -melf}} \
!   -R%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},%{melf:ELF}%{!melf:COFF} \
    %{Wl,*%*} %{YP,*} %{YL,*} %{YU,*} \
    %{!YP,*:%{p:-YP,/usr/ccs/libp:/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \
     %{!p:-YP,/usr/ccs/lib:/lib:/usr/lib}} \
    %{h*} %{static:-dn -Bstatic} %{shared:-G -dy %{!z*:-z text}} \
    %{symbolic:-Bsymbolic -G -dy %{!z*:-z text}} %{z*} %{R*} %{Y*} \
!   %{G:-G} %{melf:%{Qn:} %{!Qy:-Qn}}"
  
  /* The SCO COFF linker gets confused on the difference between "-ofoo"
     and "-o foo".   So we just always force a single space. */
--- 841,859 ----
  
  #undef LINK_SPEC
  #define LINK_SPEC \
!  "-b %{!mcoff:elf}%{mcoff:coff \
!    %{static:%e-static not valid with -mcoff} \
!    %{shared:%e-shared not valid with -mcoff} \
!    %{symbolic:%e-symbolic not valid with -mcoff} \
!    %{fpic:%e-fpic not valid with -mcoff} \
!    %{fPIC:%e-fPIC not valid with -mcoff}} \
!   -R%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},%{mcoff:COFF}%{!mcoff:ELF} \
    %{Wl,*%*} %{YP,*} %{YL,*} %{YU,*} \
    %{!YP,*:%{p:-YP,/usr/ccs/libp:/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \
     %{!p:-YP,/usr/ccs/lib:/lib:/usr/lib}} \
    %{h*} %{static:-dn -Bstatic} %{shared:-G -dy %{!z*:-z text}} \
    %{symbolic:-Bsymbolic -G -dy %{!z*:-z text}} %{z*} %{R*} %{Y*} \
!   %{G:-G} %{!mcoff:%{Qn:} %{!Qy:-Qn}}"
  
  /* The SCO COFF linker gets confused on the difference between "-ofoo"
     and "-o foo".   So we just always force a single space. */
***************
*** 867,881 ****
  #define LIB_SPEC \
   "%{!shared:%{!symbolic:-lcrypt -lgen -lc}}"
  
! #undef LIBGCC_SPEC
! #define LIBGCC_SPEC \
!  "%{!melf:-lgcc}%{melf:%{!shared:%{!symbolic:-lgcc-elf}}}"
! 
! #define MASK_ELF     		010000000000	/* Mask for elf generation */
! #define TARGET_ELF              (target_flags & MASK_ELF)
  
  #undef SUBTARGET_SWITCHES
! #define SUBTARGET_SWITCHES { "elf", MASK_ELF },
  
  #define NO_DOLLAR_IN_LABEL
  
--- 867,880 ----
  #define LIB_SPEC \
   "%{!shared:%{!symbolic:-lcrypt -lgen -lc}}"
  
! #define MASK_COFF     		010000000000	/* Mask for elf generation */
! #define TARGET_COFF             (target_flags & MASK_COFF)
! #define TARGET_ELF              (!(target_flags & MASK_COFF))
  
  #undef SUBTARGET_SWITCHES
! #define SUBTARGET_SWITCHES 		\
! 	{ "coff", MASK_COFF }, 		\
! 	{ "elf", -MASK_COFF },
  
  #define NO_DOLLAR_IN_LABEL
  

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

end of thread, other threads:[~1997-09-22 10:24 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-08-27  0:20 Insulting comments in cpp.texi Peter Seebach
1997-08-27  0:58 ` More Open Server MULTILIB patches J. Kean Johnston
1997-08-27  0:58 ` SCO Open Server 5 patches Jeffrey A Law
1997-08-27  0:59 ` more on my FreeBSD problem Jason Merrill
1997-08-27  1:30 ` Jeffrey A Law
     [not found] <Pine.SCO.3.96.970825165501.17511A-100000@hyperion.pdev.sco.com>
1997-09-22 10:24 ` SCO Open Server 5 patches Jeffrey A Law
  -- strict thread matches above, loose matches on Subject: below --
1997-08-25 23:43 J. Kean Johnston

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).