libtool-patches
[Top][All Lists]
Advanced

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

HEAD: Tru64/OSF5.1 dislikes const preloaded_symbols array


From: Ralf Wildenhues
Subject: HEAD: Tru64/OSF5.1 dislikes const preloaded_symbols array
Date: Fri, 23 Feb 2007 20:44:56 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

Hmm.  On Tru64 4.0D, I get no failures of the old testsuite of CVS HEAD.
On 5.1, I get failures of demo-make/exec/inst after demo-shared; see the
output below.

These tests do not fail on branch-1-5.  They also do not fail on HEAD if
I make the lt__PROGRAM__LTX_preloaded_symbols array non-const (i.e., it
ends up in the D instead of the R section).  Now, for branch-1-5, it
ended up in D anyway, because 'cc' does not define __STDC__ by default,
thus we define `const' to empty; OTOH we assume C89 on HEAD.

See the respective symfiles and their nm output at the end.

I'm applying this patch.  It fixes the remaining test failures of the
old HEAD testsuite on Tru64 5.1.  Let's hope that with 4.0D it doesn't
depend on the patchlevel of the system or so.

Cheers,
Ralf

2007-02-23  Ralf Wildenhues  <address@hidden>

        * libltdl/config/ltmain.m4sh (func_generate_dlsyms) [ osf5 ]:
        On Tru64 5.1, const relocations do not work well.  Omit the
        const here.  Fixes failure of demo-make after demo-shared with
        link editor error `seg_info_ptr: Couldnt find a seg type 2'.

Index: libltdl/config/ltmain.m4sh
===================================================================
RCS file: /cvsroot/libtool/libtool/libltdl/config/ltmain.m4sh,v
retrieving revision 1.64
diff -u -r1.64 ltmain.m4sh
--- libltdl/config/ltmain.m4sh  22 Feb 2007 19:53:14 -0000      1.64
+++ libltdl/config/ltmain.m4sh  23 Feb 2007 19:38:52 -0000
@@ -959,6 +959,10 @@
    runtime relocations are performed -- see ld's documentation
    on pseudo-relocs.  */"
            lt_dlsym_const= ;;
+         *osf5*)
+           echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+           lt_dlsym_const= ;;
          *)
            lt_dlsym_const=const ;;
          esac




reply via email to

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