Get the program name from the COMM field from the proc filesystem.
We could use instead the information from the psinfo binary file under
/proc, but that seems to have a shorter string limit.
/* getexecname(3) returns an absolute pathname, normalize it. */
if (__progname == NULL)
setprogname(getexecname());
+#elif defined(_AIX)
+ if (__progname == NULL) {
+ struct procentry64 procs;
+ pid_t pid = getpid ();
+
+ if (getprocs64(&procs, sizeof procs, NULL, 0, &pid, 1) > 0)
+ __progname = strdup(procs.pi_comm);
+ }
#elif defined(_WIN32)
if (__progname == NULL) {
WCHAR *wpath = NULL;