public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* egcs 970828 and X11 on linux/x86
@ 1997-08-31  2:07 H.J. Lu
  1997-08-31 13:17 ` Shared C++ libs on i386-pc-solaris2.5.1 James Macnicol
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: H.J. Lu @ 1997-08-31  2:07 UTC (permalink / raw)
  To: egcs

Hi,

On linux/x86, I bootstapped egcs 970828 with -O -g and used that egcs
to compile egcs with -O6 -fomit-frame-pointer. Then I used that
compiler to compile XFree86 3.3.1 with -O6 -fno-exceptions. I didn't
see any problems with the rebuilt XFree86 3.3.1.

BTW, I applied Jim's patch to i386.c:

Wed Aug 27 14:52:54 1997  Jim Wilson  

	* i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.

Without it, shared libraries may be miscompiled with -O2/-O3 or above.

-- 
H.J. Lu (hjl@gnu.ai.mit.edu)

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

* Shared C++ libs on i386-pc-solaris2.5.1
  1997-08-31  2:07 egcs 970828 and X11 on linux/x86 H.J. Lu
@ 1997-08-31 13:17 ` James Macnicol
  1997-08-31 16:37 ` Small patch for NetBSD Allen Briggs
  1997-08-31 18:57 ` Strange warning (variable might be clobbered by `longjmp' or `vfork') Kamil Iskra
  2 siblings, 0 replies; 11+ messages in thread
From: James Macnicol @ 1997-08-31 13:17 UTC (permalink / raw)
  To: egcs

Hello,

	Has anyone managed to build egcs under Solaris x86 2.5.1?
I cannot get any shared C++ libraries to link (including the
libstdc++.so that is built as part of the distribution -- see below),


make[2]: Leaving directory `/export/home/opt/egcs-970828/libio'
/export/home/opt/egcs-970828/gcc/xgcc
-B/export/home/opt/egcs-970828/gcc/ -g -O2 -fno-implicit-templates -h
libstdc++.so.2.8.0 -shared -o libstdc++.so.2.8.0 `cat piclist` -lm
Text relocation remains                       referenced
    against symbol                  offset      in file
__eh_type                           0xe3       
/export/home/opt/egcs-970828/gcc/libgcc.a(_eh.o)
__eh_type                           0x36a      
/export/home/opt/egcs-970828/gcc/libgcc.a(exception.o)
[snip]
__eh_cleanup                        0x243      
/export/home/opt/egcs-970828/gcc/libgcc.a(exception.o)
[snip]
__eh_in_catch                       0x448      
/export/home/opt/egcs-970828/gcc/libgcc.a(exception.o)
__get_dynamic_handler_chain         0x50a      
/export/home/opt/egcs-970828/gcc/libgcc.a(tinfo.o)
[snip]
__terminate                         0x325      
/export/home/opt/egcs-970828/gcc/libgcc.a(exception.o)
[snip]
__sjthrow                           0x24c      
/export/home/opt/egcs-970828/gcc/libgcc.a(exception.o)
[snip]

There are a lot more errors than this, including references to stdc
things
malloc, free etc.  I just tried did a normal configure with
--enable-shared
and let it run (I built gcc in three stages by hand since make from
the toplevel directory doesn't seem to do that).  I am using the
standard
Sun assembler and linker (I realize C++ debugging won't work but I can
live with that for now).

Any ideas?


--
James Macnicol
J.Macnicol@student.anu.edu.au
http://goblet.anu.edu.au/~m9305357/home.html

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

* Small patch for NetBSD
  1997-08-31  2:07 egcs 970828 and X11 on linux/x86 H.J. Lu
  1997-08-31 13:17 ` Shared C++ libs on i386-pc-solaris2.5.1 James Macnicol
@ 1997-08-31 16:37 ` Allen Briggs
  1997-08-31 18:57 ` Strange warning (variable might be clobbered by `longjmp' or `vfork') Kamil Iskra
  2 siblings, 0 replies; 11+ messages in thread
From: Allen Briggs @ 1997-08-31 16:37 UTC (permalink / raw)
  To: egcs

NetBSD declares sys_errlist--this caused the texinfo compile to break
since it also declares sys_errlist (for mystrerror()).  I won't bother
sending in a patch for that since I compiled the current texinfo with
no trouble recently.  However,

NetBSD has defined sys_siglist since version 1.0.  Here is a patch
that allows the 970828 collect2.c to compile when configured for
m68k-unknown-netbsd1.2g:

Sun Aug 31 11:38:55 1997  Allen Briggs (briggs@macbsd.com)

	* netbsd.h: Define DONT_DECLARE_SYS_SIGLIST if >= NetBSD 1.0.

::::::::::::::::::::::::::::::::::::::::::::::::::

*** /tmp/netbsd.h	Sun Aug 31 11:45:24 1997
--- gcc/config/netbsd.h	Sun Aug 31 12:32:20 1997
***************
*** 34,39 ****
--- 34,40 ----
  
  #endif
  
+ #include 
  
  /* Provide a CPP_SPEC appropriate for NetBSD.  Current we just deal with
     the GCC option `-posix'.  */
***************
*** 65,70 ****
--- 66,78 ----
  #define SWITCH_TAKES_ARG(CHAR) \
    (DEFAULT_SWITCH_TAKES_ARG(CHAR) \
     || (CHAR) == 'R')
+ 
+ /* NetBSD 1.0 and later have sys_siglist in signal.h, but current
+    numbering drops the last digit (i.e., numbering is now YYYYMM). */
+ 
+ #if (NetBSD > 1993070 || NetBSD 

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

* Re: Strange warning (variable might be clobbered by `longjmp' or `vfork')
  1997-08-31  2:07 egcs 970828 and X11 on linux/x86 H.J. Lu
  1997-08-31 13:17 ` Shared C++ libs on i386-pc-solaris2.5.1 James Macnicol
  1997-08-31 16:37 ` Small patch for NetBSD Allen Briggs
@ 1997-08-31 18:57 ` Kamil Iskra
  2 siblings, 0 replies; 11+ messages in thread
From: Kamil Iskra @ 1997-08-31 18:57 UTC (permalink / raw)
  To: egcs

On Sat, 30 Aug 1997, Jim Wilson wrote:

> 	The following code gives a strange warning.
> 	~/Prog> g++ -Wall -O -c egcs-feature2.cc
> 	egcs-feature2.cc: In function `void f()':
> 	egcs-feature2.cc:15: warning: variable `int maxrows' might be clobbered by
> 	`longjmp' or `vfork'
[snip]
> This can probably be fixed by making the sjlj EH support and flow interact
> better.

Actually, is this particular warning a really useful feature, that saves
people from making a bug every other day? I don't think so. To the
contrary, I've seen it several times and every time it was bogus. Perhaps
it would be better to just get rid of this warning?

/ Kamil Iskra - AMIGA 1200, 68030 50MHz, HDD 1.6 GB, 18 MB RAM \
| iskra@student.uci.agh.edu.pl  kiskra@ernie.icslab.agh.edu.pl |
| http://student.uci.agh.edu.pl/~iskra                         |
\ PGP public key available via Finger or WWW                   /

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

* Re: Small patch for NetBSD
  1997-09-01  2:11 ` Richard Henderson
@ 1997-09-01 12:02   ` Jim Meyering
  0 siblings, 0 replies; 11+ messages in thread
From: Jim Meyering @ 1997-09-01 12:02 UTC (permalink / raw)
  To: Richard Henderson; +Cc: Peter Seebach, law, egcs

Richard Henderson <rth@cygnus.com> writes:
| > strsignal()?
| >
| > While it's obvious what it's supposed to do, when did that come into play?
| > I can't find it in C89 or C9X...
|
| It is likely a GNU extension.  I find it on Linux libc5 and glibc
| only.  I have no idea when or where it was first introduced, though
| it is such an obvious thing.  We also have psignal(), fwiw.
|
| In any case, it is something to have autoconf check for at the same
| time as sys_errlist and sys_siglist, and, as I described earlier,
| we should preferentially use the functions.

It's in Solaris 5.5.1, too.
There's a strsignal.c in libiberty for those who want to use autoconf's
AC_REPLACE_FUNCS.

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

* Re: Small patch for NetBSD
  1997-08-31 23:12 Peter Seebach
@ 1997-09-01  2:11 ` Richard Henderson
  1997-09-01 12:02   ` Jim Meyering
  0 siblings, 1 reply; 11+ messages in thread
From: Richard Henderson @ 1997-09-01  2:11 UTC (permalink / raw)
  To: Peter Seebach; +Cc: law, egcs

> strsignal()?
> 
> While it's obvious what it's supposed to do, when did that come into play?
> I can't find it in C89 or C9X...

It is likely a GNU extension.  I find it on Linux libc5 and glibc
only.  I have no idea when or where it was first introduced, though
it is such an obvious thing.  We also have psignal(), fwiw.

In any case, it is something to have autoconf check for at the same
time as sys_errlist and sys_siglist, and, as I described earlier,
we should preferentially use the functions.


r~

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

* Re: Small patch for NetBSD
@ 1997-08-31 23:12 Richard Henderson
  0 siblings, 0 replies; 11+ messages in thread
From: Richard Henderson @ 1997-08-31 23:12 UTC (permalink / raw)
  To: egcs

> Peter Seebach reminds me that sys_errlist and sys_siglist are not the same
> thing, as might be obvious from the fact that their names are different,
> so please ignore my comment here.  strerror will not help with sys_siglist.

However strsignal() will. 

It is to our advantage to use the functions when available, because on
systems that do not compile applications PIC, the size of an array is
part of the ABI between a program and its shared libraries due to the
awful hack that is .dynbss.  Programs break when new error codes are
added and the library updated.


r~

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

* Re: Small patch for NetBSD
@ 1997-08-31 23:12 Jim Wilson
  0 siblings, 0 replies; 11+ messages in thread
From: Jim Wilson @ 1997-08-31 23:12 UTC (permalink / raw)
  To: egcs

	The right solution here is probably to use strerror instead of sys_siglist.

Peter Seebach reminds me that sys_errlist and sys_siglist are not the same
thing, as might be obvious from the fact that their names are different,
so please ignore my comment here.  strerror will not help with sys_siglist.

Jim

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

* Re: Small patch for NetBSD
@ 1997-08-31 23:12 Jim Wilson
  0 siblings, 0 replies; 11+ messages in thread
From: Jim Wilson @ 1997-08-31 23:12 UTC (permalink / raw)
  To: egcs

The right solution here is probably to use strerror instead of sys_siglist.
Try looking at what texinfo does (the most recent one, not the one in
EGCS).

Jim

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

* Re: Small patch for NetBSD
@ 1997-08-31 23:12 Peter Seebach
  1997-09-01  2:11 ` Richard Henderson
  0 siblings, 1 reply; 11+ messages in thread
From: Peter Seebach @ 1997-08-31 23:12 UTC (permalink / raw)
  To: egcs

strsignal()?

While it's obvious what it's supposed to do, when did that come into play?
I can't find it in C89 or C9X...

It's a good idea; wish I'd thought of it, or someone had suggested it, a
few months ago.

-s

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

* Re: Small patch for NetBSD
  1997-08-31 18:57 erase operation in STL Weiwen Liu
@ 1997-08-31 20:05 ` Jeffrey A Law
  0 siblings, 0 replies; 11+ messages in thread
From: Jeffrey A Law @ 1997-08-31 20:05 UTC (permalink / raw)
  To: egcs

  In message you write:
  > NetBSD declares sys_errlist--this caused the texinfo compile to break
  > since it also declares sys_errlist (for mystrerror()).  I won't bother
  > sending in a patch for that since I compiled the current texinfo with
  > no trouble recently.  However,
  > 
  > NetBSD has defined sys_siglist since version 1.0.  Here is a patch
  > that allows the 970828 collect2.c to compile when configured for
  > m68k-unknown-netbsd1.2g:
  > 
  > Sun Aug 31 11:38:55 1997  Allen Briggs (briggs@macbsd.com)
  > 
  > 	* netbsd.h: Define DONT_DECLARE_SYS_SIGLIST if >= NetBSD 1.0.
The way to go is to use autoconf to detect when SYS_SIGLIST and
friends need to be declared.  I'm actively working on a patch for
this problem.

Jeff

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

end of thread, other threads:[~1997-09-01 12:02 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-08-31  2:07 egcs 970828 and X11 on linux/x86 H.J. Lu
1997-08-31 13:17 ` Shared C++ libs on i386-pc-solaris2.5.1 James Macnicol
1997-08-31 16:37 ` Small patch for NetBSD Allen Briggs
1997-08-31 18:57 ` Strange warning (variable might be clobbered by `longjmp' or `vfork') Kamil Iskra
1997-08-31 18:57 erase operation in STL Weiwen Liu
1997-08-31 20:05 ` Small patch for NetBSD Jeffrey A Law
1997-08-31 23:12 Richard Henderson
1997-08-31 23:12 Peter Seebach
1997-09-01  2:11 ` Richard Henderson
1997-09-01 12:02   ` Jim Meyering
1997-08-31 23:12 Jim Wilson
1997-08-31 23:12 Jim Wilson

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