Index: fileline.c
===================================================================
--- fileline.c	(revision 194325)
+++ fileline.c	(working copy)
@@ -42,8 +42,23 @@
 #include "internal.h"
 
 #ifndef HAVE_GETEXECNAME
+#if defined(__hpux) && (defined(__ia64) || defined(_LP64))
+#include <dlfcn.h>
+#define getexecname getexecname_hpux
+
+static char *
+getexecname_hpux (void)
+{
+  struct load_module_desc desc;
+
+  dlget(-2, &desc, sizeof(desc));
+  return dlgetname(&desc, sizeof(desc), NULL, 0, 0);
+}
+
+#else
 #define getexecname() NULL
 #endif
+#endif
 
 /* Initialize the fileline information from the executable.  Returns 1
    on success, 0 on failure.  */
