public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* patch for i386go32.c
@ 1999-08-09 15:59 Mark E.
  1999-08-09 20:08 ` Ian Lance Taylor
  0 siblings, 1 reply; 4+ messages in thread
From: Mark E. @ 1999-08-09 15:59 UTC (permalink / raw)
  To: binutils

Hello Ian,
While testing the data alignment changes, I noticed that i386go32.sc (ugh) doesn't 
have any code to handle C++ EH like DJGPP's own linker script does.

ld/ChangeLog:

1999-08-09 Mark Elbrecht <snowball3@bigfoot.com>

* scripttempl/i386go32.sc: Update to handle C++ exceptions.

*** scripttempl/i386go32.sc.orig	Tue Aug  3 12:12:48 1999
--- scripttempl/i386go32.sc	Mon Aug  9 18:29:44 1999
*************** SECTIONS
*** 33,38 ****
--- 33,43 ----
      djgpp_last_dtor = . ;}
      *(.data)
      ${RELOCATING+*(.gnu.linkonce.d*)}
+     ${RELOCATING+*(.gcc_exc*)
+     ___EH_FRAME_BEGIN__ = . ;
+     *(.eh_fram*)
+     ___EH_FRAME_END__ = . ;
+     LONG(0)};
      ${RELOCATING+edata  =  . ; _edata = .};
      ${RELOCATING+. = ALIGN(${SEGMENT_SIZE});}
    }

--- 
Mark Elbrecht, snowball3@bigfoot.com
http://snowball.frogspace.net/

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

* Re: patch for i386go32.c
  1999-08-09 15:59 patch for i386go32.c Mark E.
@ 1999-08-09 20:08 ` Ian Lance Taylor
  1999-08-10  6:22   ` Mark E.
  0 siblings, 1 reply; 4+ messages in thread
From: Ian Lance Taylor @ 1999-08-09 20:08 UTC (permalink / raw)
  To: snowball3; +Cc: binutils

   From: "Mark E." <snowball3@bigfoot.com>
   Date: Mon, 9 Aug 1999 18:59:38 -0400

   While testing the data alignment changes, I noticed that i386go32.sc (ugh) doesn't 
   have any code to handle C++ EH like DJGPP's own linker script does.

   ld/ChangeLog:

   1999-08-09 Mark Elbrecht <snowball3@bigfoot.com>

   * scripttempl/i386go32.sc: Update to handle C++ exceptions.

   *** scripttempl/i386go32.sc.orig	Tue Aug  3 12:12:48 1999
   --- scripttempl/i386go32.sc	Mon Aug  9 18:29:44 1999
   *************** SECTIONS
   *** 33,38 ****
   --- 33,43 ----
	 djgpp_last_dtor = . ;}
	 *(.data)
	 ${RELOCATING+*(.gnu.linkonce.d*)}
   +     ${RELOCATING+*(.gcc_exc*)
   +     ___EH_FRAME_BEGIN__ = . ;
   +     *(.eh_fram*)
   +     ___EH_FRAME_END__ = . ;
   +     LONG(0)};
	 ${RELOCATING+edata  =  . ; _edata = .};
	 ${RELOCATING+. = ALIGN(${SEGMENT_SIZE});}
       }

I checked this in.

However, I'll note that none of the other targets see the need to
define __EH_FRAME_{BEGIN,END}__, or to add the LONG(0).  That's
because other targets use the gcc crtbegin/crtend support.  Why not
make DJGPP work like other gcc targets?

Ian

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

* Re: patch for i386go32.c
  1999-08-09 20:08 ` Ian Lance Taylor
@ 1999-08-10  6:22   ` Mark E.
  1999-08-10  9:58     ` pavenis
  0 siblings, 1 reply; 4+ messages in thread
From: Mark E. @ 1999-08-10  6:22 UTC (permalink / raw)
  To: binutils, djgpp-workers

>    +     ${RELOCATING+*(.gcc_exc*)
>    +     ___EH_FRAME_BEGIN__ = . ;
>    +     *(.eh_fram*)
>    +     ___EH_FRAME_END__ = . ;
>    +     LONG(0)};
> I checked this in.

Thanks once again.

> 
> However, I'll note that none of the other targets see the need to
> define __EH_FRAME_{BEGIN,END}__, or to add the LONG(0).  That's
> because other targets use the gcc crtbegin/crtend support.  Why not
> make DJGPP work like other gcc targets?
> 

I wasn't around when it was decided how to handle g++ exceptions. I've added djgpp-
workers in hopes that someone who was around then there has an answer.

Mark

--- 
Mark Elbrecht, snowball3@bigfoot.com
http://snowball.frogspace.net/

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

* Re: patch for i386go32.c
  1999-08-10  6:22   ` Mark E.
@ 1999-08-10  9:58     ` pavenis
  0 siblings, 0 replies; 4+ messages in thread
From: pavenis @ 1999-08-10  9:58 UTC (permalink / raw)
  To: Mark E., djgpp-workers, binutils, djgpp-workers

On 10 Aug 99, at 9:22, Mark E. wrote:

> >    +     ${RELOCATING+*(.gcc_exc*)
> >    +     ___EH_FRAME_BEGIN__ = . ;
> >    +     *(.eh_fram*)
> >    +     ___EH_FRAME_END__ = . ;
> >    +     LONG(0)};
> > I checked this in.
> 
> Thanks once again.
> 
> > 
> > However, I'll note that none of the other targets see the need to
> > define __EH_FRAME_{BEGIN,END}__, or to add the LONG(0).  That's
> > because other targets use the gcc crtbegin/crtend support.  Why not
> > make DJGPP work like other gcc targets?
> > 
> 
> I wasn't around when it was decided how to handle g++ exceptions. I've added djgpp-
> workers in hopes that someone who was around then there has an answer.
> 

This approach were used since port of gcc-2.8.1 (Robert Hoehne) 
suggested it as far as I remeber.

Once I tried crtbegin, crtend with egcs-1.1.... (I don't remeber which 
exactly) and I had problems (at least I remember so). Maybe it's 
time to try once more.

Andris


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

end of thread, other threads:[~1999-08-10  9:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-08-09 15:59 patch for i386go32.c Mark E.
1999-08-09 20:08 ` Ian Lance Taylor
1999-08-10  6:22   ` Mark E.
1999-08-10  9:58     ` pavenis

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