gh-63760: Don't declare gethostname() on Solaris (#108817)

Since 2005, Solaris defines gethostname(). socketmodule.c no longer
has to define gethostname() for Solaris.

Oracle Solaris and OpenSolaris have patches to remove the
gethostname() definition in Python:

* https://github.com/oracle/solaris-userland/blob/master/components/python/python37/patches/15-gethostname.patch
* https://github.com/OpenIndiana/oi-userland/blob/oi/hipster/components/python/python37/patches/15-gethostname.patch
* https://github.com/omniosorg/omnios-build/blob/master/build/python27/patches/24-gethostname.patch

Co-authored-by: Jakub Kulík <Kulikjak@gmail.com>
This commit is contained in:
Victor Stinner 2023-09-02 19:54:59 +02:00 committed by GitHub
parent bac1e6d695
commit 0e6d582b3b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 5 deletions

View file

@ -0,0 +1,3 @@
Fix Solaris build: no longer redefine the ``gethostname()`` function. Solaris
defines the function since 2005. Patch by Victor Stinner, original patch by
Jakub Kulík.

View file

@ -111,11 +111,6 @@ Local naming conventions:
#include "pycore_fileutils.h" // _Py_set_inheritable() #include "pycore_fileutils.h" // _Py_set_inheritable()
#include "pycore_moduleobject.h" // _PyModule_GetState #include "pycore_moduleobject.h" // _PyModule_GetState
// gethostname() prototype missing from Solaris standard header files
#ifdef __sun
extern int gethostname(char *, int);
#endif
#ifdef _Py_MEMORY_SANITIZER #ifdef _Py_MEMORY_SANITIZER
# include <sanitizer/msan_interface.h> # include <sanitizer/msan_interface.h>
#endif #endif