gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] Re: PLT code and Mach-O


From: Camm Maguire
Subject: Re: [Gcl-devel] Re: PLT code and Mach-O
Date: 16 Mar 2004 09:36:52 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings, and thanks again as always!

Aurelien Chanudet <address@hidden> writes:

> Hi Camm,
> 
> Sorry for the delay replying. Your new PLT code almost works for Mac
> OS X. Just a couple of notes :
> 
> - When Darwin specific modifications got added to sfaslbfd.c in order
> to support BFD for Mach-O, a call to
> bfd_mach_o_inject_fp_branch_islands() got omitted. See patch below.
> 

Will commit -- thanks!

> - In configure.in, the test code to detect whether the -Map switch is
> available does not for Mac OS X. I slightly modified it so that the
> GNU_LD makefile variable is now set appropriately. See patch below.
> 

Will commit -- thanks!


> - In plt.c : as we're not using the -Map switch on Mac OS X, no map
> file is available. However, the code in parse_plt() does not handle
> this case, as far as I can tell. Maybe a lstat(2) call of some sort
> could be added there. No patch here !
> 

Will fix -- thanks!

Take care,

> Thanks for your dedicated work,
> Aurelien
> 
> Index: o/sfaslbfd.c
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/o/sfaslbfd.c,v
> retrieving revision 1.12.4.1.2.3
> diff -u -r1.12.4.1.2.3 sfaslbfd.c
> --- o/sfaslbfd.c        28 Feb 2004 20:15:56 -0000      1.12.4.1.2.3
> +++ o/sfaslbfd.c        15 Mar 2004 19:56:38 -0000
> @@ -304,7 +304,7 @@
>     for (u=0;u<v;u++) {
> 
>       struct bfd_link_hash_entry *h;
> -
> +
>       if (!strncmp(entry_name_ptr,q[u]->name,5)) {
>         init_address=q[u]->value;
>         continue;
> @@ -323,6 +323,11 @@
>         FEerror("Symbol without section",0);
> 
>     }
> +
> +#if defined(DARWIN)
> +  if (!bfd_mach_o_inject_fp_branch_islands (b, bi, q))
> +    FEerror ("Could not inject fp register preservation stubs",0);
> +#endif
> 
>   #ifndef HAVE_ALLOCA
>   #error Cannot use bfd relocations without alloca at present
> 
> 
> Index: configure.in
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/configure.in,v
> retrieving revision 1.112.4.1.2.2.2.32
> diff -u -r1.112.4.1.2.2.2.32 configure.in
> --- configure.in        11 Mar 2004 02:02:30 -0000
> 1.112.4.1.2.2.2.32
> +++ configure.in        15 Mar 2004 19:56:30 -0000
> @@ -589,8 +589,7 @@
>   AC_MSG_CHECKING("for GNU ld option -Map")
>   touch map
>   $CC -o foo [ -Wl,-Map ] map foo.o >/dev/null 2>&1
> -MAP_SIZE=`cat map | wc -l`
> -if test "$MAP_SIZE" != "0" ; then
> +if test `cat map | wc -l` != "0" ; then
>          AC_MSG_RESULT("yes")
>          AC_DEFINE(HAVE_GNU_LD)
>          GNU_LD=1
> 
> 
> 
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gcl-devel
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]