[Top][All Lists]
[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