binutils-gdb/bfd/configure.host
Rainer Orth 0e73a13ca6 bfd: Always use CP_ACP=1 on Solaris [PR11280]
bfd/configure.host defines CP_ACP=1 on Solaris 11 as a workaround for
the lack the MS-ANSI codepage in Solaris libc iconv(3C).  However, the
issue isn't restricted to some OpenSolaris build as the comment
suggests, but present on Solaris in general as can be seen in the iconv -l
output:

On both Solaris 10 and 11.4, one gets

	CP1252 (1252, ANSI-1252, WINDOWS-1252),

unlike GNU iconv which lists

	CP1252 MS-ANSI WINDOWS-1252

Therefore, this patch applies the patch on all Solaris versions.

Tested on {amd64,i386}-pc-solaris2.11 and sparc{v9,}-sun-solaris2.11.

2026-06-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	bfd:
	PR binutils/11280
	* configure.host (HDEFINES): Always define CP_ACP=1 on Solaris.
2026-06-29 13:25:38 +02:00

100 lines
3.6 KiB
Text

#
# Copyright (C) 2012-2026 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
#
# This file is a shell script that overrides some of the tools and
# flags used on a host specific basis.
# Since the "bfd/hosts" directory is shared by the bfd, opcodes, and
# binutils directories (at least), the index to it is also shared.
# This is that index. Each configure.ac file should source this file
# in its per-host part.
# This sets the following shell variables:
# HDEFINES host specific compiler options
# host64 set to true if 64 bit types are as fast as 32 bit
# HOST_64BIT_TYPE host 64 bit type
# HOST_U_64BIT_TYPE unsigned 64 bit type (not needed if 64BIT_TYPE is long)
HDEFINES=
host64=false
HOST_64BIT_TYPE=
HOST_U_64BIT_TYPE=
case "${host}" in
hppa*64*-*-hpux*) # HP/UX's ftello64 et.al. declarations are only
# visible when _LARGEFILE64_SOURCE is defined.
# Without those declarations, real_ftell et.al.
# get mis-compiled.
HDEFINES="-DHOST_HPPAHPUX -D_LARGEFILE64_SOURCE"
host64=true;;
hppa*-*-hpux*) HDEFINES="-DHOST_HPPAHPUX -D_LARGEFILE64_SOURCE" ;;
hppa*-*-hiux*) HDEFINES=-DHOST_HPPAHPUX ;;
hppa*-*-mpeix*) HDEFINES=-DHOST_HPPAMPEIX ;;
hppa*-*-bsd*) HDEFINES=-DHOST_HPPABSD ;;
hppa*-*-osf*) HDEFINES=-DHOST_HPPAOSF ;;
ia64-*-hpux*) HDEFINES=-D_LARGEFILE64_SOURCE
host64=true;;
ia64-*-*) host64=true;;
# Workaround for limitations on win9x where file contents are
# not zero'd out if you seek past the end and then write.
i[3-7]86-*-mingw32*) HDEFINES=-D__USE_MINGW_FSEEK;;
i[3-7]86-sequent-bsd*) HDEFINES=-Dshared=genshared ;;
i[3-7]86-sequent-sysv4*) ;;
i[3-7]86-sequent-sysv*) HDEFINES=-Dshared=genshared ;;
mips*-*-netbsd*) ;;
mips*-*-openbsd*) ;;
mips*-dec-*) HDEFINES="-G 4" ;;
mips*-sgi-irix3*) HDEFINES="-G 4" ;;
mips*-sgi-irix4*) HDEFINES="-G 4" ;;
mips*-sgi-irix6*) host64=true;;
mips64*-*-linux*) host64=true;;
mips64*-*-freebsd* | mips64*-*-kfreebsd*-gnu) host64=true;;
mips*-*-sysv4*) ;;
mips*-*-sysv*) HDEFINES="-G 4" ;;
mips*-*-riscos*) HDEFINES="-G 4" ;;
# Solaris libc doesn't recognise the "MS-ANSI" code page name, so we define
# an override for CP_ACP (sets the default code page used by windres/windmc
# when not specified by a commandline option) to select the "WINDOWS-1252"
# name instead. See PR11280 for details.
*-*-solaris2*) HDEFINES=-DCP_ACP=1 ;;
*-*-windows*)
HOST_64BIT_TYPE=__int64
HOST_U_64BIT_TYPE="unsigned __int64"
# The following krock is necessary because we can't run the build compiler
# (MSVC) on the configure host, so we have to explicitly set the values here.
# Note that this file is never run through autoconf, so we can't use any
# autoconf macros here. Because of this, we have to muck with autoconf
# variables explicitly.
ac_cv_func_mmap_fixed_mapped=no
ac_cv_header_time=no
ac_cv_func_getpagesize=no
ac_cv_func_madvise=no
ac_cv_func_mprotect=no
ac_cv_func_getuid=no
ac_cv_func_getgid=no
ac_cv_header_sys_file_h=no
ac_cv_header_sys_time_h=no
ac_cv_header_unistd_h=no
;;
esac