Received: (qmail 27044 invoked by uid 2012); 18 Jun 1998 07:13:41 -0000 Message-Id: <19980618071341.27043.qmail@hyperreal.org> Date: 18 Jun 1998 07:13:41 -0000 From: Jonathan Gapen Reply-To: jagapen@students.wisc.edu To: apbugs@hyperreal.org Subject: DSO symbols don't need an underscore prepended on NetBSD/pmax 1.3.2 X-Send-Pr-Version: 3.2 >Number: 2462 >Category: os-netbsd >Synopsis: DSO symbols don't need an underscore prepended on NetBSD/pmax 1.3.2 >Confidential: no >Severity: serious >Priority: medium >Responsible: apache >State: open >Class: sw-bug >Submitter-Id: apache >Arrival-Date: Thu Jun 18 00:20:01 PDT 1998 >Last-Modified: Mon Dec 7 09:40:01 PST 1998 >Originator: jagapen@students.wisc.edu >Organization: apache >Release: 1.3.0 >Environment: NetBSD spacehog.revolve.org 1.3.2 NetBSD 1.3.2 (SPACEHOG) #0: Tue Jun 2 03:15:09 PDT 1998 root@spacehog.revolve.org:/usr/src/sys/arch/pmax/compile/SPACEHOG pmax >Description: The file src/os/unix/os.h defines DLSYM_NEEDS_UNDERSCORE when __NetBSD__ is defined, but the symbols do not need an underscore prepended under NetBSD/pmax 1.3.2. >How-To-Repeat: Compile Apache with DSO support on a NetBSD/pmax machine, then try to run it. On a typical installation, you'll get an error message that the server can't find symbol _env_module in file libexec/mod_env.so. >Fix: Add a check for underscores to the configure script. AFAIK, this is likely to change in the future for all NetBSD platforms, so keeping up with #define statements is likely to be impractical. I can get Apache to work correctly with DSO support by hand-editing out the #define DLSYM_NEEDS_UNDERSCORE line. >Audit-Trail: From: Todd Vierling To: apbugs@apache.org Cc: Subject: Re: os-netbsd/2462: DSO symbols don't need an underscore prepended on NetBSD/pmax 1.3.2 Date: Mon, 7 Dec 1998 12:37:48 -0500 (EST) A fix for the user's problem comes from one of the Apache patches in the NetBSD "pkgsrc" system: $NetBSD: patch-ac,v 1.1 1998/10/02 14:40:13 tv Exp $ --- src/os/unix/os.h.orig Fri Oct 2 10:14:27 1998 +++ src/os/unix/os.h Fri Oct 2 10:14:54 1998 @@ -114,7 +114,8 @@ #define RTLD_GLOBAL 0 #endif -#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) +#if defined(__FreeBSD__) || defined(__OpenBSD__) || \ + (defined(__NetBSD__) && !defined(__ELF__)) #define DLSYM_NEEDS_UNDERSCORE #endif ===== This solution may also be needed for FreeBSD ELF (3.0), and OpenBSD ELF; in that case, the expression could/should be: #if (defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)) \ && !defined(__ELF__) -- -- Todd Vierling (Personal tv@pobox.com; Bus. todd_vierling@xn.xerox.com) >Unformatted: [In order for any reply to be added to the PR database, ] [you need to include in the Cc line ] [and leave the subject line UNCHANGED. This is not done] [automatically because of the potential for mail loops. ]