# --- T2-COPYRIGHT-NOTE-BEGIN --- # T2 SDE: package/*/perl/hotfix-x-32bit.diff # Copyright (C) 2022 - 2023 The T2 SDE Project # # This Copyright note is generated by scripts/Create-CopyPatch, # more information can be found in the files COPYING and README. # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License version 2 as used by the T2 SDE. # --- T2-COPYRIGHT-NOTE-END --- --- perl-5.38.0/config.h.orig 2023-07-05 16:33:48.807662915 +0200 +++ perl-5.38.0/config.h 2023-07-05 16:56:24.376542489 +0200 @@ -759,7 +759,7 @@ * preprocessor can make decisions based on it. */ #define INTSIZE 4 /**/ -#define LONGSIZE 8 /**/ +#define LONGSIZE 4 /**/ #define SHORTSIZE 2 /**/ /* MULTIARCH: @@ -779,9 +779,9 @@ */ #define HAS_QUAD /**/ #ifdef HAS_QUAD -# define Quad_t long /**/ -# define Uquad_t unsigned long /**/ -# define QUADKIND 2 /**/ +# define Quad_t long long /**/ +# define Uquad_t unsigned long long /**/ +# define QUADKIND 3 /**/ # define QUAD_IS_INT 1 # define QUAD_IS_LONG 2 # define QUAD_IS_LONG_LONG 3 @@ -862,7 +862,7 @@ * This symbol is defined if the C compiler can cast negative * or large floating point numbers to 32-bit ints. */ -/*#define CASTI32 / **/ +#define CASTI32 /**/ /* CASTNEGFLOAT: * This symbol is defined if the C compiler can cast negative @@ -1173,7 +1173,7 @@ * the compiler supports (void *); otherwise it will be * sizeof(char *). */ -#define PTRSIZE 8 /**/ +#define PTRSIZE 4 /**/ /* Drand01: * This macro is to be used to generate uniformly distributed @@ -1786,8 +1786,8 @@ #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* back-compat */ #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE /* back-compat */ #define LONG_DOUBLE_STYLE_IEEE -#undef LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE -#define LONG_DOUBLE_STYLE_IEEE_EXTENDED +#define LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE +#undef LONG_DOUBLE_STYLE_IEEE_EXTENDED #undef LONG_DOUBLE_STYLE_IEEE_STD #undef LONG_DOUBLE_STYLE_VAX #endif @@ -3550,7 +3550,7 @@ * character data through U32-aligned pointers. */ #ifndef U32_ALIGNMENT_REQUIRED -#define U32_ALIGNMENT_REQUIRED /**/ +/*#define U32_ALIGNMENT_REQUIRED / **/ #endif /* HAS_UALARM: @@ -3750,7 +3750,7 @@ * This symbol, if defined, indicates that exists and * should be included. */ -#define I_QUADMATH /**/ +/*#define I_QUADMATH / **/ /* I_SHADOW: * This symbol, if defined, indicates that exists and @@ -3932,7 +3932,7 @@ * This symbol, if defined, indicates that the double is * the 64-bit VAX format D or G. */ -#define DOUBLEKIND 3 /**/ +#define DOUBLEKIND 4 /**/ #define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN 1 #define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN 2 #define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN 3 @@ -3982,7 +3982,7 @@ * This depends on which floating point type was chosen. */ #define DOUBLEMANTBITS 52 -#define LONGDBLMANTBITS 64 +#define LONGDBLMANTBITS 104 #define NVMANTBITS 52 /* NEED_VA_COPY: @@ -4117,15 +4117,15 @@ #define U8TYPE unsigned char /**/ #define I16TYPE short /**/ #define U16TYPE unsigned short /**/ -#define I32TYPE int /**/ -#define U32TYPE unsigned int /**/ +#define I32TYPE long /**/ +#define U32TYPE unsigned long /**/ #ifdef HAS_QUAD -#define I64TYPE long /**/ -#define U64TYPE unsigned long /**/ +#define I64TYPE long long /**/ +#define U64TYPE unsigned long long /**/ #endif #define NVTYPE double /**/ -#define IVSIZE 8 /**/ -#define UVSIZE 8 /**/ +#define IVSIZE 4 /**/ +#define UVSIZE 4 /**/ #define I8SIZE 1 /**/ #define U8SIZE 1 /**/ #define I16SIZE 2 /**/ @@ -4137,8 +4137,8 @@ #define U64SIZE 8 /**/ #endif #define NVSIZE 8 /**/ -#undef NV_PRESERVES_UV -#define NV_PRESERVES_UV_BITS 53 +#define NV_PRESERVES_UV +#define NV_PRESERVES_UV_BITS 32 #define NV_OVERFLOWS_INTEGERS_AT (256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0) #define NV_ZERO_IS_ALLBITS_ZERO #if UVSIZE == 8 @@ -4203,7 +4203,7 @@ * is either n or 32*ceil(n/32), especially many little-endians do * the latter. This is only useful if you have select(), naturally. */ -#define SELECT_MIN_BITS 64 /**/ +#define SELECT_MIN_BITS 32 /**/ /* ST_DEV_SIZE: * This variable contains the size of struct stat's st_dev in bytes. @@ -4261,10 +4261,10 @@ * This symbol contains the minimum value for the time_t offset that * the system function localtime () accepts, and defaults to 0 */ -#define GMTIME_MAX 67768036191676799 /**/ -#define GMTIME_MIN -62167219200 /**/ -#define LOCALTIME_MAX 67768036191673199 /**/ -#define LOCALTIME_MIN -62167222408 /**/ +#define GMTIME_MAX 2147483647 /**/ +#define GMTIME_MIN -2147483648 /**/ +#define LOCALTIME_MAX 2147483647 /**/ +#define LOCALTIME_MIN -2147483648 /**/ /* USE_64_BIT_INT: * This symbol, if defined, indicates that 64-bit integers should @@ -4285,10 +4285,10 @@ * you may need at least to reboot your OS to 64-bit mode. */ #ifndef USE_64_BIT_INT -#define USE_64_BIT_INT /**/ +/*#define USE_64_BIT_INT / **/ #endif #ifndef USE_64_BIT_ALL -#define USE_64_BIT_ALL /**/ +/*#define USE_64_BIT_ALL / **/ #endif /* USE_C_BACKTRACE: @@ -5291,7 +5291,7 @@ /* Gid_t_f: * This symbol defines the format string used for printing a Gid_t. */ -#define Gid_t_f "u" /**/ +#define Gid_t_f "lu" /**/ /* Gid_t_sign: * This symbol holds the signedness of a Gid_t. @@ -5346,7 +5346,7 @@ /* Size_t_size: * This symbol holds the size of a Size_t in bytes. */ -#define Size_t_size 8 /**/ +#define Size_t_size 4 /**/ /* Size_t: * This symbol holds the type used to declare length parameters @@ -5359,7 +5359,7 @@ /* Uid_t_f: * This symbol defines the format string used for printing a Uid_t. */ -#define Uid_t_f "u" /**/ +#define Uid_t_f "lu" /**/ /* Uid_t_sign: * This symbol holds the signedness of a Uid_t.