From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30378 invoked by alias); 23 Jan 2002 00:08:18 -0000 Mailing-List: contact binutils-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sources.redhat.com Received: (qmail 30346 invoked from network); 23 Jan 2002 00:08:17 -0000 Received: from unknown (HELO palrel13.hp.com) (156.153.255.238) by sources.redhat.com with SMTP; 23 Jan 2002 00:08:17 -0000 Received: from hpda.cup.hp.com (hpda.cup.hp.com [15.75.208.53]) by palrel13.hp.com (Postfix) with ESMTP id BD1DBE00087; Tue, 22 Jan 2002 16:08:17 -0800 (PST) Received: from hpsje.cup.hp.com (hpsje.cup.hp.com [15.0.98.5]) by hpda.cup.hp.com (Postfix) with ESMTP id D237885A4; Tue, 22 Jan 2002 16:07:56 -0800 (PST) Received: (from sje@localhost) by hpsje.cup.hp.com (8.8.6 (PHNE_17190)/8.7.3 TIS Messaging 5.0) id QAA05558; Tue, 22 Jan 2002 16:07:56 -0800 (PST) Date: Tue, 22 Jan 2002 16:44:00 -0000 From: Steve Ellcey Message-Id: <200201230007.QAA05558@hpsje.cup.hp.com> To: dmj+@andrew.cmu.edu, binutils@sources.redhat.com Subject: libtool changes for HP-UX IA64 support X-SW-Source: 2002-01/txt/msg00450.txt.bz2 Since it doesn't look like we will be able to update libtool in binutils for the 2.12 release, I have created a patch for the libtool that is checked in to binutils. I am hoping someone can review it and check it in. I don't have write permission but I do have a copyright assignment on file. HP-UX IA64 support is already in the top-of-tree libtool so there is no problem with that, these changes could also be put into the GCC tree if desired but I am less concerned with that as GCC 3.1 won't have full HP-UX IA64 support anyway and I am hoping that by the time GCC 3.2 is released libtool would have been updated to the latest sources. Steve Ellcey sje@cup.hp.com 2002-01-22 Steve Ellcey * libtool.m4 (HPUX_IA64_MODE): Set to 32 or 64 based on ABI. (lt_cv_deplibs_check_method, lt_cv_file_magic_cmd, lt_cv_file_magic_test_file): Set to appropriate values for HP-UX IA64. * ltcf-c.sh (archive_cmds, hardcode_*): Ditto. * ltconfig (shlibpath_*, dynamic_linker, library_names_spec, soname_spec, sys_lib_search_path_spec): Ditto. *** src.orig/libtool.m4 Tue Jan 22 15:40:53 2002 --- src/libtool.m4 Tue Jan 22 15:40:28 2002 *************** case $host in *** 159,164 **** --- 159,180 ---- rm -rf conftest* ;; + ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case "`/usr/bin/file conftest.o`" in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; + *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" *************** gnu*) *** 568,576 **** ;; hpux10.20*|hpux11*) ! lt_cv_deplibs_check_method=['file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'] ! lt_cv_file_magic_cmd=/usr/bin/file ! lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; irix5* | irix6*) --- 584,601 ---- ;; hpux10.20*|hpux11*) ! case $host_cpu in ! hppa*) ! [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'] ! lt_cv_file_magic_cmd=/usr/bin/file ! lt_cv_file_magic_test_file=/usr/lib/libc.sl ! ;; ! ia64*) ! [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'] ! lt_cv_file_magic_cmd=/usr/bin/file ! lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ! ;; ! esac ;; irix5* | irix6*) *** src.orig/ltcf-c.sh Tue Jan 22 15:41:03 2002 --- src/ltcf-c.sh Tue Jan 22 15:40:39 2002 *************** else *** 417,439 **** ;; hpux9* | hpux10* | hpux11*) ! if test $with_gcc = yes; then ! case "$host_os" in ! hpux9*) archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; ! *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; ! esac ! else ! case $host_os in ! hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; ! *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; ! esac ! fi ! hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ! hardcode_libdir_separator=: ! hardcode_direct=yes ! hardcode_minus_L=yes # Not in the search PATH, but as the default ! # location of the library. export_dynamic_flag_spec='${wl}-E' ;; irix5* | irix6*) --- 417,448 ---- ;; hpux9* | hpux10* | hpux11*) ! case "$host_cpu" in ! ia64*) ! hardcode_direct=no ! hardcode_shlibpath_var=no ! archive_cmds='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' ! hardcode_libdir_flag_spec='-L$libdir' ;; ! *) ! if test $with_gcc = yes; then ! case "$host_os" in ! hpux9*) archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; ! *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; ! esac ! else ! case $host_os in ! hpux9*) archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' ;; ! *) archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' ;; ! esac ! fi ! hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' ! hardcode_libdir_separator=: ! hardcode_minus_L=yes # Not in the search PATH, but as the default ! # location of the library. ! ;; ! esac export_dynamic_flag_spec='${wl}-E' + hardcode_direct=yes ;; irix5* | irix6*) *** src.orig/ltconfig Tue Jan 22 15:40:57 2002 --- src/ltconfig Tue Jan 22 15:40:34 2002 *************** gnu*) *** 1155,1168 **** hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. - dynamic_linker="$host_os dld.sl" version_type=sunos need_lib_prefix=no need_version=no ! shlibpath_var=SHLIB_PATH ! shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH ! library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' ! soname_spec='${libname}${release}.sl$major' # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; --- 1155,1186 ---- hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no ! case "$host_cpu" in ! ia64*) ! dynamic_linker="$host_os dld.so" ! shlibpath_var=LD_LIBRARY_PATH ! library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ! soname_spec='${libname}${release}.so$major' ! shlibpath_var=LD_LIBRARY_PATH ! shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. ! if test "X$HPUX_IA64_MODE" = X32; then ! sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32/usr/local/lib" ! else ! sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" ! fi ! sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ! ;; ! *) ! dynamic_linker="$host_os dld.sl" ! shlibpath_var=SHLIB_PATH ! shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH ! library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' ! soname_spec='${libname}${release}.sl$major' ! ;; ! esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;;