You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2002/07/30 15:51:23 UTC

DO NOT REPLY [Bug 11288] New: - missing __floatdisf symbol in httpd binary

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11288>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=11288

missing __floatdisf symbol in httpd binary

           Summary: missing __floatdisf symbol in httpd binary
           Product: Apache httpd-1.3
           Version: 1.3.26
          Platform: Sun
        OS/Version: Solaris
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: core
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: pcagnoni@mclink.net


compiling httpd with gcc (mine is 2.95.3) and --enable-shared=max on solaris may
cause startup errors like 

Cannot load /B/highway/apache/libexec/mod_negotiation.so into server: ld.so.1:
/B/highway/apache/bin/httpd: fatal: relocation error: file
/B/highway/apache/libexec/mod_negotiation.so: symbol __floatdisf: referenced
symbol not found

this can happen with mod_proxy too.

general solution: force link of __floatdisf (in libgcc.a) in httpd;

workaround: include statically mod_negotiation (or mod_proxy) with
--disable-shared=negotiation;

cleaner (maybe :-) )  solution: include these lines in any httpd source:

    extern void __floatdisf(void);
    void *dummy_floatdisf_pointer = (void *) __floatdisf;

both cases have been tested on my solaris 8 servers.

pietro cagnoni.

p.s. maybe this belongs to the Build component? it doesn't give any error during
compilation/linking.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org