[openssl-dev] [openssl.org #3526] [Patch] Removed the dependency on the obsolete TERMIO.h for linux 32 and 64bits.

Richard Levitte via RT rt at openssl.org
Tue Feb 24 09:42:38 UTC 2015


I took this a bit further and made TERMIOS the default if nothing else is said.
It means that I've removed -DTERMIOS on all platforms except the Unix-like
environments on Windows (such as Cygwin), and removed -DTERMIO on all Linux
platforms (TERMIOS is POSIX and has been for a long time, the rationale is that
Linux on all hardwares must have caught up by now).

This has been updated in the master branch as well as the 1.0.2 and 1.0.1
branches.

On Thu Sep 11 11:59:24 2014, nik_89 at xroutine.net wrote:
>
> Operating System : Linux 32 and 64bits.
> Version of OpenSSL : 1.0.1i
>
>
> TERMIO is an obsolete header file that is not even in vanilla glibc
> anymore. The TERMIOS header file is fully backward compatible with the
> TERMIO struct so it is safe to use that instead. This prevents systems
> that dropped altogether the termio.h "glue" header from having nasty
> errors when compiling.
> ---
> Configure | 24 ++++++++++++------------
> crypto/ui/ui_openssl.c | 2 --
> 2 files changed, 12 insertions(+), 14 deletions(-)
>
> diff --git a/Configure b/Configure
> index 36844b7..7b2d5d7 100755
> --- a/Configure
> +++ b/Configure
> @@ -345,23 +345,23 @@ my %table=(
> ####
> # *-generic* is endian-neutral target, but ./config is free to
> # throw in -D[BL]_ENDIAN, whichever appropriate...
> -"linux-generic32","gcc:-DTERMIO -O3 -fomit-frame-pointer
> -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT
> DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> +"linux-generic32","gcc:-DTERMIOS -O3 -fomit-frame-pointer
> -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT
> DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> "linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3
> -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1
> DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> # It's believed that majority of ARM toolchains predefine appropriate
> -march.
> # If you compiler does not, do complement config command line with
> one!
> -"linux-armv4", "gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG
> RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL
> BF_PTR:${armv4_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> +"linux-armv4", "gcc:-DTERMIOS -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG
> RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL
> BF_PTR:${armv4_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> #### IA-32 targets...
> -"linux-ia32-icc", "icc:-DL_ENDIAN -DTERMIO -O2
> -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des}
> ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-
> KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> -"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer
> -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des}
> ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> -"linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer
> -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des}
> ${x86_gcc_opts}:${x86_asm}:a.out",
> +"linux-ia32-icc", "icc:-DL_ENDIAN -DTERMIOS -O2
> -no_cpprt::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des}
> ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-
> KPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> +"linux-elf", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer
> -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des}
> ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> +"linux-aout", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer
> -march=i486 -Wall::(unknown):::BN_LLONG ${x86_gcc_des}
> ${x86_gcc_opts}:${x86_asm}:a.out",
> ####
> -"linux-generic64","gcc:-DTERMIO -O3
> -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK
> DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> -"linux-ppc64", "gcc:-m64 -DB_ENDIAN -DTERMIO -O3
> -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK
> DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-
> fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
> -"linux-ia64", "gcc:-DL_ENDIAN -DTERMIO -O3
> -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL
> DES_INT:${ia64_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> -"linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall
> -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK
> DES_INT:${ia64_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> -"linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall
> -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK
> DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> -"linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -O3
> -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT
> DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-
> m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
> -"linux64-s390x", "gcc:-m64 -DB_ENDIAN -DTERMIO -O3
> -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK
> DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-
> m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
> +"linux-generic64","gcc:-DTERMIOS -O3
> -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK
> DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> +"linux-ppc64", "gcc:-m64 -DB_ENDIAN -DTERMIOS -O3
> -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK
> DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-
> fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
> +"linux-ia64", "gcc:-DL_ENDIAN -DTERMIOS -O3
> -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL
> DES_INT:${ia64_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> +"linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIOS -O2 -Wall
> -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK
> DES_INT:${ia64_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> +"linux-ia64-icc","icc:-DL_ENDIAN -DTERMIOS -O2 -Wall
> -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK
> DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-
> fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
> +"linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIOS -O3
> -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT
> DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-
> m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
> +"linux64-s390x", "gcc:-m64 -DB_ENDIAN -DTERMIOS -O3
> -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK
> DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-
> m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
> #### So called "highgprs" target for z/Architecture CPUs
> # "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
> # /proc/cpuinfo. The idea is to preserve most significant bits of
> diff --git a/crypto/ui/ui_openssl.c b/crypto/ui/ui_openssl.c
> index a38c758..91e1ae0 100644
> --- a/crypto/ui/ui_openssl.c
> +++ b/crypto/ui/ui_openssl.c
> @@ -191,8 +191,6 @@
> #endif
>
> #if defined(linux) && !defined(TERMIO)
> -# undef TERMIOS
> -# define TERMIO
> # undef SGTTY
> #endif
>


--
Richard Levitte
levitte at openssl.org



More information about the openssl-dev mailing list