Re: [Patch] Support DEC-C extensions

2011-10-03 Thread Douglas Rupp

On 9/30/2011 8:19 AM, Joseph S. Myers wrote:

On Fri, 30 Sep 2011, Tristan Gingold wrote:


If you prefer a target hook, I'm fine with that.  I will write such a patch.

I don't think it must be restricted to system headers, as it is possible
that the user 'imports' such a function (and define it in one of VMS
favorite languages such as macro-32 or bliss).

If it's not restricted to system headers, then probably the option is
better than the target hook.

I'm not sure I understand the reasoning here.  This seems fairly VMS 
specific so what is the downside for a target hook and user written headers?


Re: [Patch] Support DEC-C extensions

2011-10-03 Thread Douglas Rupp

On 10/3/2011 1:23 PM, Joseph S. Myers wrote:

The language accepted by the compiler in the user's source code (as
opposed to in system headers) shouldn't depend on the target except for
certain well-defined areas such as target attributes and built-in
functions; behaving the same across different systems is an important
feature of GCC.  This isn't one of those areas of target-dependence; it's
generic syntax rather than e.g. exploiting a particular processor feature.



I understand now, thanks for explaining.


Re: [Patch] Support DEC-C extensions

2011-10-04 Thread Douglas Rupp

On 10/3/2011 8:35 AM, Gabriel Dos Reis wrote:

"unnamed variadic functions" sounds as if the function itself is
unnamed, so not good.


-funnamed-variadic-parameter


How about
-fvariadic-parameters-unnamed

there's already a -fvariadic-macros, so maybe putting variadic first is 
more consistent?




Re: [VMS/committed]: Add -mpointer-size switch

2012-03-12 Thread Douglas Rupp

On 3/12/2012 4:48 AM, Tristan Gingold wrote:

Hi,

Now that '#pragma pointer_size' is supported by GCC for VMS, we can add the 
'-mpointer-size' switch (modeled on /POINTER_SIZE=xx DEC-C qualifier) to set 
the default pointer size.  This also makes alpha64-dec-*vms* target obsolete 
(but still supported by alpha*-dec-*vms*).



What about the size of Ada system.address which is also controlled by 
alpha64 triplet?


[PATCH] RFC: Interix resurrection

2012-01-01 Thread Douglas Rupp

This is for 32bit, "C" language only.
Tested by cross and then cross-native from x86_64 Linux

--Doug

2012-01-01  Douglas B Rupp  

/config/mh-interix: Remove as unneeded.
/config/picflag.m4 (i[[34567]]86-*-interix3*):
 Change triplet to i[[34567]]86-*-interix[[3-9]]*.
libgcc/config.host (i[34567]86-*-interix3*):
 Change triplet to i[34567]86-*-interix[3-9]*.
/configure.ac: Remove reference to mh-interix.
/configure: Regenerate.
/libada/configure: Regenerate.
/libgcc/configure: Regenerate.
/liberty/configure: Regenerate.

config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
 configurations. Change triplet to i[34567]86-*-interix[3-9]*.
(extra_options) interix.opt -> i386/interix.opt"
(extra_objs):Add winnt-stubs.o
configure.ac: Add interix to target_os .comm on PE check.
configure: Regenerate.
config/interix3.h: Delete and move bits to..
config/interix.h: Delete and move bits to..
config/i386/i386-interix3.h: Delete and move bits to..
config/i386/i386-interix.h: ..here.
(TARGET_CPU_DEFAULT): Remove redefinition.
(TARGET_ASM_CONSTRUCTOR): Undefine.
(SUBTARGET_SWITCHES): Define for ms-bitfields.
(TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
(PTRDIFF_TYPE): Define.
(LONG_DOUBLE_TYPE_SIZE): Define.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
(SUBTARGET_OVERRIDE_OPTIONS): Remove.
(TARGET_SECTION_TYPE_FLAGS): Define.
(ASM_DECLARE_FUNCTION_NAME): Define.
(ASM_OUTPUT_EXTERNAL): Define.
(ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
(ASM_OUTPUT_ALIGNED_BSS): Define.
(PCC_BITFIELD_TYPE_MATTERS): Define.
(USE_CONST_SECTION): Define.
(SUBTARGET_ENCODE_SECTION_INFO): Remove.
(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
(SUPPORTS_ONE_ONLY): Remove.
(I386_PE_STRIP_ENCODING): Define.
config/interix.opt: Delete and move bits to..
config/i386/interix.opt: ..here.
(mpe-aligned-commons): Add.
config/i386/t-interix: Add copyright header.
(winnt-stubs.o): Add rule.
testsuite/gcc.dg/builtins-config.h: (HAVE_C99_RUNTIME):
 Do not define for Interix.

--- gcc.old/config/mh-interix   2011-12-10 12:49:59.0 -0800
+++ gcc/config/mh-interix   1969-12-31 16:00:00.0 -0800
@@ -1,2 +0,0 @@
-# The shell may not be in /bin. 
-SHELL = sh
--- gcc.old/config/picflag.m4   2011-12-10 12:49:59.0 -0800
+++ gcc/config/picflag.m4   2011-12-31 18:32:37.0 -0800
@@ -19,7 +19,7 @@ case "${$2}" in
;;
 i[[34567]]86-*-cygwin* | i[[34567]]86-*-mingw* | x86_64-*-mingw*)
;;
-i[[34567]]86-*-interix3*)
+i[[34567]]86-*-interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
--- gcc.old/libgcc/config.host  2011-12-10 12:56:00.0 -0800
+++ gcc/libgcc/config.host  2011-12-19 18:21:15.0 -0800
@@ -634,7 +634,7 @@ x86_64-*-mingw*)
tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} 
i386/t-slibgcc-cygming i386/t-mingw32 t-dfprules i386/t-crtfm i386/t-chkstk"
extra_parts="$extra_parts crtfastmath.o"
;;
-i[34567]86-*-interix3*)
+i[34567]86-*-interix[3-9]*)
tmake_file="$tmake_file i386/t-interix i386/t-chkstk"
;;
 ia64*-*-elf*)
--- gcc.old/configure.ac2011-12-10 13:06:46.0 -0800
+++ gcc/configure.ac2011-12-12 19:04:46.0 -0800
@@ -1077,9 +1079,6 @@ case "${host}" in
   *-mingw*)
 host_makefile_frag="config/mh-mingw"
 ;;
-  *-interix*)
-host_makefile_frag="config/mh-interix"
-;;
   hppa*-hp-hpux10*)
 host_makefile_frag="config/mh-pa-hpux10"
 ;;
--- gcc.old/gcc/config.gcc  2011-12-10 13:05:49.0 -0800
+++ gcc/gcc/config.gcc  2011-12-31 18:25:02.0 -0800
@@ -243,7 +243,6 @@ md_file=
 # Obsolete configurations.
 case ${target} in
alpha*-dec-osf5.1*  \
- | i[34567]86-*-interix3*  \
  | mips-sgi-irix6.5\
  | mips*-*-openbsd*\
  | score-* \
@@ -1472,11 +1471,11 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
;;
esac
;;
-i[34567]86-*-interix3*)
-   tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h 
i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
+i[34567]86-*-interix[3-9]*)
+   tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h 
i386/i386-interix.h"
tmake_file="${tmake_file} i386/t-interix"
-   extra_options="${extra_options} rpath.opt interix.opt"
-   extra_objs=winnt.o
+   extra_options="${extra_options} rpath.opt i386/interix.opt"
+   extra_objs="winnt.o winnt-stubs.o"
target_gtfiles="\$(srcdir)/config/i386/win

Re: [PATCH] RFC: Interix resurrection

2012-01-21 Thread Douglas Rupp

Ping.
Patch retested with 1/18/2012 sources.

On 1/1/2012 1:01 PM, Douglas Rupp wrote:

This is for 32bit, "C" language only.
Tested by cross and then cross-native from x86_64 Linux

--Doug





Re: [PATCH] RFC: Interix resurrection

2012-01-22 Thread Douglas Rupp

On 1/22/2012 4:41 AM, Paolo Bonzini wrote:

On 01/01/2012 10:01 PM, Douglas Rupp wrote:

-i[[34567]]86-*-interix3*)
+i[[34567]]86-*-interix[[3-9]]*)
  # Interix 3.x gcc -fpic/-fPIC options generate broken code.
  # Instead, we relocate shared libraries at runtime.
  ;;


Is this still true?

Build parts are ok.

Paolo


Thanks.
May I regenerate libiberty/configure and check it in, or does that 
require a libiberty maintainer?


Regarding your question(s)
I believe -fpic/PIC is still broken on Interix but I'll have to dig into 
some old notes to clarify the reason.

The comment about shared library relocation is still true.


Re: Remove obsolete Tru64 UNIX V5.1B support

2012-03-05 Thread Douglas Rupp

On 3/5/2012 9:28 AM, Richard Henderson wrote:

On 03/05/2012 09:14 AM, Rainer Orth wrote:

* In the alpha backend, there are a couple of cases that might be
   osf-specific, but I cannot tell for certain:

   macro  osf5.halpha.h

   TARGET_AS_CAN_SUBTRACT_LABELS  1 TARGET_GAS

   I cannot tell if !TARGET_GAS configurations exist, especially Alpha VMS.
   Also, in alpha.h there are some references to mips-tfile, which is
   gone with osf.  If there are no non-gas configrations remaining, that
   stuff can go, too.

Given that GAS supports VMS, I suspect that all targets are now GAS.
I'll let the adacore folks answer that for certain howeverl.


All Alpha/VMS targets use GAS.
--Doug


Re: [PATCH] Un-obsolete Interix

2011-06-29 Thread Douglas Rupp

An update to the IA-32/x86-64 section seems the right place.
I confess to being ignorant about how to update this html page. Please 
advise.

--Doug

On 12 Jun 2011, Gerald Pfeifer wrote:
And I assume you'll be updating the release notes at
http://gcc.gnu.org/gcc-4.7/changes.html . ;-)


Re: [PATCH] Default Alpha/VMS to DWARF2 debugging only

2021-09-10 Thread Douglas Rupp via Gcc-patches
Dwarf2 only works with an ancient GDB. VMS style was useful because it
implemented enough to get a trace back.

But as you say it’s dead, so no basis for objection.

On Fri, Sep 10, 2021 at 6:47 AM Jeff Law  wrote:

>
>
> On 9/10/2021 12:52 AM, Richard Biener via Gcc-patches wrote:
> > This changes the default debug format for Alpha/VMS to DWARF2 only,
> > skipping emission of VMS debug info which is going do be deprecated
> > for GCC 12 alongside the support for STABS.
> >
> > It looks like other flavors of VMS never used VMS_DEBUG by default
> > but only the alpha port did.
> >
> > I have no good means to test anything here, it might be that we have
> > alpha-vms specific testcases that rely on the previous default.
> >
> > OK for trunk?
> >
> > Thanks,
> > Richard.
> >
> > 2021-09-10  Richard Biener  
> >
> >   * config/alpha/vms.h (PREFERRED_DEBUGGING_TYPE): Define to
> >   DWARF2_DEBUG.
> It's a dead target, so yea, go for it.  Worst case it breaks someone
> notices and we know someone still cares about alpha-vms :-)
>
> Jeff
>
>