public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Robert Lipe <robertlipe@usa.net>
To: Eric Raskin <ehr@listworks.com>
Cc: egcs@egcs.cygnus.com
Subject: Re: DG/UX Port - Giving Up!!
Date: Mon, 31 May 1999 21:36:00 -0000	[thread overview]
Message-ID: <19990510104905.D14813@rjlhome.sco.com> (raw)
Message-ID: <19990531213600.cXBf8jD0tweYwIbefIVbjxO-XwrhQ0FzkGkYa61W6lI@z> (raw)
In-Reply-To: <078101be9af4$343af790$65c8c8c8@ehrpc.listworks.com>

I've never seen DG/UX, but some of these sound familiar to me.

Eric Raskin wrote:

> I'm giving up on the DG/UX Intel port of egcs (i586-dg-dguxR4.20MU03).
> In order to make everything work, you need to switch from the DG/UX
> assembler and linker to the GNU versions.  If you don't, then the
> "weak" designations don't work properly, and the stage2-to-stage3
> compare operation during the bootstrap fails.  If you do change, then
> you break the compiler supplied with the base OS (which specifies
> some funky switches to the DG assembler in order to fix up debugging
> information).

It is entirely possible to have the GNU assembler and the native
assembler on the same system if that's what you're asking.  If the issue
is that you need to GCC to call the two assemblers with different flags,
there is prior art for that, too.  (Look in configure.in and search for
"sco5gas".  If configured --with-gnu-as that target will forget about
all the funky flags to pass to the assembler and instead use a set that
will work with GAS.  Note how sco5gas.h just sets a flag and "wraps" the
current sco5.h.)

> I've also found that debugging with the new tools is completely
> broken -- I can't get dbx or gdb to debug anything produced by the
> GNU assember/linker tools.  As a matter of fact, I can't even get the
> objcopy utility to copy an ELF executable properly when produced by
> any of the three compilers on my system -- gcc 2.7.2 (base OS), gcc
> 2.8.1 (built myself) and egcs 19990502 snapshot.  The debugging info
> gets trashed.  (I'm using binutils 2.9.1.)

You may be able to tinker with the debugging formats used.  If you have
an all-GNU toolchain (and compatibility with the native chain isn't
important), stabs are probably the thing to use.  The way I read dgux.h, 
it prefers to use DWARF1 but does also build in stabs.   Try turning that
on (using -gstabs) and see if it makes life better for you.  If you like
it, then just configure your tree with --with-stabs to make it the default.

In general, I found that trying to debug everything (gcc, ld, as, gdb)
at once was really hard.  I'd focus on getting the compiler to work well
enough to do a bootstrap with native binary tools then iterate over the 
debugger and GNU binutils to bring those up.

Of course, there are those on the list that scoff at such things since
they're so studly as to be able to effectively debug all those things in
parallel while using an system with bad RAMs. :-)


> Finally, I've found that the egcs C++ implementation on DG/UX won't
> call global constructors/destructors from shared libraries.  It
> isn't just dynamic linking using dlopen(), it's even the DG/UX
> version of ld.so that won't do it.  On DG/UX, this file is called
> /usr/dglib/libc.so.1, for anyone who cares to take a look at it.

We had (and fixed!) this very problem in OpenServer just before 1.1.2
went out.  Look in the Feb egcs-bugs archives for the threads:

	Final patch for shared library problem in SCO OpenServer
	shared library patch for SCO OpenServer 5.0.5 & egcs

If yours is an ELF-based SVR4-ish systems (and I think it is) you might
find this to be pertinent.

It may be as simple as ensuring that crti.o abd crtn.o get linked in
the right places if your system provides these.

> So, I'm giving up on this port.  It's now beyond my abilities.

It doesn't sound like you're that far from the finish line, really.


RJL

  reply	other threads:[~1999-05-31 21:36 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-05-10  7:51 Eric Raskin
1999-05-10  8:49 ` Robert Lipe [this message]
1999-05-10  9:56   ` Eric Raskin
1999-05-10 10:24     ` Robert Lipe
1999-05-10 12:24       ` Eric Raskin
1999-05-10 13:00         ` Robert Lipe
1999-05-31 21:36           ` Robert Lipe
1999-05-10 16:52         ` Jeffrey A Law
1999-05-31 21:36           ` Jeffrey A Law
1999-05-31 21:36         ` Eric Raskin
1999-05-31 21:36       ` Robert Lipe
1999-05-10 17:02     ` Jeffrey A Law
1999-05-31 21:36       ` Jeffrey A Law
1999-05-31 21:36     ` Eric Raskin
1999-05-10 16:58   ` Jeffrey A Law
1999-05-31 21:36     ` Jeffrey A Law
1999-05-31 21:36   ` Robert Lipe
1999-05-31 21:36 ` Eric Raskin

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=19990510104905.D14813@rjlhome.sco.com \
    --to=robertlipe@usa.net \
    --cc=egcs@egcs.cygnus.com \
    --cc=ehr@listworks.com \
    /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).