Web lists-archives.com

Re: [PATCH] Improving HP-UX support




Hey there,

Am 2019-05-09 um 09:32 schrieb Ævar Arnfjörð Bjarmason:

On Wed, May 08 2019, Osipov, Michael wrote:

Hi folks,

Hi see Documentation/SubmittingPatches for how to submit patches inline
instead of as attachments.

Do you want me to resend the configure.ac change as per wiki article? I can also create a PR on GitHub. I am happy with both as long as I don't have to retain the patch for myself only ;-)

For the sha1dc change it seems trivially correct, but we import that
upstream project as-is, could you please submit a pull request at
https://github.com/cr-marcstevens/sha1collisiondetection then we can
update our version?

Sure thing, will do.

diff -ur configure.ac configure.ac
--- configure.ac	2019-02-24 16:55:19 +0000
+++ configure.ac	2019-05-08 11:31:42 +0000
@@ -475,8 +475,18 @@
        if test "$git_cv_ld_rpath" = "yes"; then
           CC_LD_DYNPATH=-rpath
        else
-         CC_LD_DYNPATH=
-         AC_MSG_WARN([linker does not support runtime path to dynamic libraries])
+         AC_CACHE_CHECK([if linker supports -Wl,+b,], git_cv_ld_wl_b, [
+            SAVE_LDFLAGS="${LDFLAGS}"
+            LDFLAGS="${SAVE_LDFLAGS} -Wl,+b,/"
+            AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [git_cv_ld_wl_b=yes], [git_cv_ld_wl_b=no])
+            LDFLAGS="${SAVE_LDFLAGS}"
+         ])
+         if test "$git_cv_ld_wl_b" = "yes"; then
+            CC_LD_DYNPATH=-Wl,+b,
+          else
+             CC_LD_DYNPATH=
+             AC_MSG_WARN([linker does not support runtime path to dynamic libraries])
+          fi
        fi
     fi
  fi

Do we want to also have something in config.mak.uname to always do this
on HP/UX?

I am not convinced by that. I wouldn't mix operating system with compiler settings. One could also use GCC on HP-UX. The one above is for HP aCC.

  /* Not under GCC-alike or glibc or *BSD or newlib or <processor whitelist> */
-#elif (defined(_AIX))
+#elif (defined(_AIX) || defined(__hpux))

Seems sane, and per my googling even though HP/UX now runs on
little-endian hardware it's always big-endian. But in this manual they
advice doing it at runtime with a TEST_ENDIAN() macro in sys/portal.h:
http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c01921401-1.pdf

Is that something we need to worry about / support? E.g. in the
configure script?


That'd be much more work to extend configure.ac for that because is a runtime check. Since there are no real products vailable on x86 for HP-UX I'd neglect that. Our HPE salesman told us that this will be available somewhere in the future. So, I think this is very good for now.

Michael