diff options
author | 2020-06-27 20:44:12 +0000 | |
---|---|---|
committer | 2020-06-27 20:44:12 +0000 | |
commit | dab3a19829a881759a2b76e3b1e60dcf070d78e4 (patch) | |
tree | d5c22fc529219025c810b041ec556dc19d21203c | |
parent | Prevent the use of jump tables on powerpc64 as well. (diff) | |
download | wireguard-openbsd-dab3a19829a881759a2b76e3b1e60dcf070d78e4.tar.xz wireguard-openbsd-dab3a19829a881759a2b76e3b1e60dcf070d78e4.zip |
Remove some customizations from the perl build
This was originally done so that other things in-tree such as vi could link
to libperl and to support non-shared vax.
This brings us more in-line with upstream and makes things more understandable.
It now links libperl.so to libm, which some software needs, and stops building
and installing libperl.a.
OK bluhm@
-rw-r--r-- | gnu/usr.bin/perl/DynaLoader.sed | 6 | ||||
-rw-r--r-- | gnu/usr.bin/perl/Makefile.SH | 66 | ||||
-rw-r--r-- | gnu/usr.bin/perl/Makefile.bsd-wrapper | 53 | ||||
-rw-r--r-- | gnu/usr.bin/perl/Makefile.bsd-wrapper1 | 111 | ||||
-rw-r--r-- | gnu/usr.bin/perl/ext/DynaLoader/Makefile.PL | 4 | ||||
-rw-r--r-- | gnu/usr.bin/perl/git_version.h | 3 | ||||
-rw-r--r-- | gnu/usr.bin/perl/hints/openbsd.sh | 32 | ||||
-rw-r--r-- | gnu/usr.bin/perl/installperl | 2 | ||||
-rw-r--r-- | gnu/usr.bin/perl/lib/Config_git.pl | 3 | ||||
-rw-r--r-- | gnu/usr.bin/perl/numeric.c | 2 |
10 files changed, 94 insertions, 188 deletions
diff --git a/gnu/usr.bin/perl/DynaLoader.sed b/gnu/usr.bin/perl/DynaLoader.sed deleted file mode 100644 index 5ecef57624a..00000000000 --- a/gnu/usr.bin/perl/DynaLoader.sed +++ /dev/null @@ -1,6 +0,0 @@ -s@"dlutils.c"@"ext/DynaLoader/dlutils.c"@ -/^#ifndef RTLD_LAZY/{N;N;c\ -#define VERSION "1.20"\ -#define XS_VERSION "1.20"\ -#define DLOPEN_WONT_DO_RELATIVE_PATHS -} diff --git a/gnu/usr.bin/perl/Makefile.SH b/gnu/usr.bin/perl/Makefile.SH index 3791e458d35..2a550ff706e 100644 --- a/gnu/usr.bin/perl/Makefile.SH +++ b/gnu/usr.bin/perl/Makefile.SH @@ -822,11 +822,11 @@ CCDLFLAGS = `echo $ccdlflags|sed -e 's@-bE:.*/perl\.exp@-bE:perl.exp@'` LIBPERL_NONSHR = libperl_nonshr$(LIB_EXT) MINIPERL_NONSHR = miniperl_nonshr$(EXE_EXT) -#$(LIBPERL_NONSHR): $(perllib_objs) -# $(RMS) $(LIBPERL_NONSHR) -# $(AR) rc $(LIBPERL_NONSHR) $(perllib_objs) +$(LIBPERL_NONSHR): $(perllib_objs) + $(RMS) $(LIBPERL_NONSHR) + $(AR) rc $(LIBPERL_NONSHR) $(perllib_objs) -$(MINIPERL_NONSHR): miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) +$(MINIPERL_NONSHR): $(LIBPERL_NONSHR) miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(CC) $(LDFLAGS) -o $(MINIPERL_NONSHR) miniperlmain$(OBJ_EXT) \ opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(LIBPERL_NONSHR) $(LIBS) @@ -925,33 +925,33 @@ $(DTRACE_MAIN_O): perldtrace.d perlmain$(OBJ_EXT) !NO!SUBS! ;; esac -# $spitshell >>$Makefile <<'!NO!SUBS!' -#$(LIBPERL): $& $(perllib_dep) $(DYNALOADER) $(LIBPERLEXPORT) -#!NO!SUBS! -# case "$useshrplib" in -# true) -# $spitshell >>$Makefile <<'!NO!SUBS!' -# rm -f $@ -# $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs) -#!NO!SUBS! -# case "$osname" in -# aix) -# $spitshell >>$Makefile <<'!NO!SUBS!' -# rm -f libperl$(OBJ_EXT) -# mv $@ libperl$(OBJ_EXT) -# $(AR) qv $(LIBPERL) libperl$(OBJ_EXT) -#!NO!SUBS! -# ;; -# esac -# ;; -# *) -# $spitshell >>$Makefile <<'!NO!SUBS!' -# rm -f $(LIBPERL) -# $(AR) rc $(LIBPERL) $(perllib_objs) $(DYNALOADER) -# @$(ranlib) $(LIBPERL) -#!NO!SUBS! -# ;; -# esac + $spitshell >>$Makefile <<'!NO!SUBS!' +$(LIBPERL): $& $(perllib_dep) $(DYNALOADER) $(LIBPERLEXPORT) +!NO!SUBS! + case "$useshrplib" in + true) + $spitshell >>$Makefile <<'!NO!SUBS!' + rm -f $@ + $(LD) -o $@ $(SHRPLDFLAGS) $(perllib_objs) $(DYNALOADER) $(libs) +!NO!SUBS! + case "$osname" in + aix) + $spitshell >>$Makefile <<'!NO!SUBS!' + rm -f libperl$(OBJ_EXT) + mv $@ libperl$(OBJ_EXT) + $(AR) qv $(LIBPERL) libperl$(OBJ_EXT) +!NO!SUBS! + ;; + esac + ;; + *) + $spitshell >>$Makefile <<'!NO!SUBS!' + rm -f $(LIBPERL) + $(AR) rc $(LIBPERL) $(perllib_objs) $(DYNALOADER) + @$(ranlib) $(LIBPERL) +!NO!SUBS! + ;; + esac $spitshell >>$Makefile <<'!NO!SUBS!' # How to build executables. @@ -1017,6 +1017,10 @@ NAMESPACEFLAGS = -force_flat_namespace esac $spitshell >>$Makefile <<'!NO!SUBS!' lib/buildcustomize.pl: $& $(miniperl_objs) write_buildcustomize.pl + -@rm -f miniperl.xok + $(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \ + $(miniperl_objs) $(libs) + $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl. Please run make minitest; exit 1' $(MINIPERL) -f write_buildcustomize.pl !NO!SUBS! ;; diff --git a/gnu/usr.bin/perl/Makefile.bsd-wrapper b/gnu/usr.bin/perl/Makefile.bsd-wrapper index 90cfff13232..f7be9bddc39 100644 --- a/gnu/usr.bin/perl/Makefile.bsd-wrapper +++ b/gnu/usr.bin/perl/Makefile.bsd-wrapper @@ -1,10 +1,9 @@ -# $OpenBSD: Makefile.bsd-wrapper,v 1.109 2017/07/04 13:10:13 espie Exp $ +# $OpenBSD: Makefile.bsd-wrapper,v 1.110 2020/06/27 20:44:13 afresh1 Exp $ # # Build wrapper for Perl # - -CONFIGURE_ARGS= -dsE -Dopenbsd_distribution=defined -Dccflags='-DNO_LOCALE_NUMERIC -DNO_LOCALE_COLLATE' +CONFIGURE_ARGS= -de -Dopenbsd_distribution=defined .if !exists(${.OBJDIR}/config.over) CONFIGURE_ARGS+= -Dmksymlinks @@ -12,51 +11,21 @@ CONFIGURE_ARGS+= -Dmksymlinks .MAIN: all -# Arguments passed to Configure... - -CPPFLAGS+= -DPERL_CORE -DNO_LOCALE_NUMERIC -DNO_LOCALE_COLLATE -DBIG_TIME -I. - -GEN_AFTER= bitcount.h config.h mg_data.h uudmap.h cflags makedepend \ - myconfig Makefile Policy.sh pod/Makefile - -GENERATED= config.sh ${GEN_AFTER} +CLEANFILES= config.sh -${GEN_AFTER}: config.sh - -CLEANFILES= config.sh Policy.sh DynaLoader.c +config.sh: ${.CURDIR}/config.over ${.CURDIR}/hints/openbsd.sh + cd ${.OBJDIR} && PATH="/bin:/usr/bin:/sbin:/usr/sbin" \ + exec /bin/sh ${.CURDIR}/Configure ${CONFIGURE_ARGS} # nothing! depend: @: -depend.done: ${GENERATED} - cd ${.OBJDIR} && exec ${MAKE} depend - touch $@ - -config.sh: ${.CURDIR}/config.over - cd ${.OBJDIR} && PATH="/bin:/usr/bin:/sbin:/usr/sbin" \ - exec /bin/sh ${.CURDIR}/Configure ${CONFIGURE_ARGS} - -Makefile cflags makedepend makedir myconfig Policy.sh config.h: - cd ${.OBJDIR} && exec /bin/sh ${@:S/./_/}.SH - -pod/Makefile: - cd ${.OBJDIR}/pod && exec /bin/sh Makefile.SH - -uudmap.h: bitcount.h -mg_data.h: bitcount.h - -bitcount.h: generate_uudmap - ./generate_uudmap uudmap.h bitcount.h mg_data.h - -generate_uudmap: generate_uudmap.o - ${CC} ${CPPFLAGS} ${CFLAGS} -o generate_uudmap generate_uudmap.o - test: - -@if [ -e Makefile ]; then ${MAKE} test; fi + -@test -e Makefile && ${MAKE} test clean: - -@if [ -e Makefile ]; then ${MAKE} realclean; fi + -@test -e Makefile && ${MAKE} realclean cleandir: -@if [ ${.CURDIR} != ${.OBJDIR} ]; then \ @@ -65,10 +34,10 @@ cleandir: test -e Makefile && ${MAKE} distclean; \ rm -f ${CLEANFILES}; \ fi - @cd ${.CURDIR} && ${MAKE} -f Makefile.bsd-wrapper1 cleandir + cd ${.CURDIR} && ${MAKE} -f Makefile.bsd-wrapper1 cleandir -all: depend.done - cd ${.CURDIR} && exec ${MAKE} -f Makefile.bsd-wrapper1 perl.build CPPFLAGS="${CPPFLAGS}" GENERATED="${GENERATED}" +all: config.sh + cd ${.CURDIR} && exec ${MAKE} -f Makefile.bsd-wrapper1 perl.build cd ${.CURDIR} && exec ${MAKE} -f Makefile.bsd-wrapper1 mansrc.build install: diff --git a/gnu/usr.bin/perl/Makefile.bsd-wrapper1 b/gnu/usr.bin/perl/Makefile.bsd-wrapper1 index 9d1b109bfed..07706edadbb 100644 --- a/gnu/usr.bin/perl/Makefile.bsd-wrapper1 +++ b/gnu/usr.bin/perl/Makefile.bsd-wrapper1 @@ -1,43 +1,9 @@ .include <bsd.own.mk> -# There is no point in building a profiled libperl that is never used. -NOPROFILE= - -# Perl builds with -fno-strict-aliasing, we want libperl to do the same -CFLAGS+= -fno-strict-aliasing - -H2PH= /usr/bin/h2ph - -LIB= perl - -SRCS1= gv.c toke.c perly.c pad.c regcomp.c dump.c util.c mg.c reentr.c \ - mro_core.c keywords.c hv.c av.c run.c pp_hot.c sv.c pp.c scope.c pp_ctl.c \ - pp_sys.c doop.c doio.c dquote.c regexec.c utf8.c taint.c deb.c universal.c \ - globals.c perlio.c perlapi.c numeric.c mathoms.c locale.c time64.c \ - pp_pack.c pp_sort.c caretx.c -SRCS= ${SRCS1} op.c perl.c - -# We must not try to mkdep DynaLoader.c as it requires miniperl -OBJS+= DynaLoader.o - -# For generating DynaLoader.c -.if defined(NOPIC) -DYNALOADER=ext/DynaLoader/dl_none.xs -.else -DYNALOADER=ext/DynaLoader/dl_dlopen.xs -.endif - .if defined (INSTALL_STRIP) && ${INSTALL_STRIP} == "-s" STRIPFLAGS='-s' .endif -perl.build: perl.lib DynaLoader.c - cd ${.OBJDIR} && exec ${MAKE} - -# Never try to regenerate perly.c or perly.h -perly.c perly.h: perly.y - -@true - # If we are cross-compiling, we use the native pod2man. # Otherwise, we use the pod2man (and libperl) we just # built since we don't know what's in the tree. @@ -114,6 +80,7 @@ _quick3p= perl5300delta 1 pod/perl5300delta.pod \ perl5301delta 1 pod/perl5301delta.pod \ perl5302delta 1 pod/perl5302delta.pod \ + perl5303delta 1 pod/perl5303delta.pod \ perl561delta 1 pod/perl561delta.pod \ perl56delta 1 pod/perl56delta.pod \ perl581delta 1 pod/perl581delta.pod \ @@ -844,76 +811,22 @@ stamp-mansrc.build: .PHONY: mansrc.build +perl.build: + cd ${.OBJDIR} && exec ${MAKE} + cleandir: rm -f ${MAN} stamp-mansrc.build -.include <bsd.lib.mk> -# These have to come after the inclusion of <bsd.lib.mk> - -# Need -fPIC, not -fpic on sparc -.if ($(TARGET_MACHINE_ARCH) == sparc) -PICFLAG=-fPIC -.endif - -# Unaligned access on alpha with -ftree-ter -# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59679 -# More details -# https://rt.perl.org/Public/Bug/Display.html?id=120888 -.if ($(TARGET_MACHINE_ARCH) == alpha) -CFLAGS+= -fno-tree-ter -.endif - -# The DynaLoader extension is now compiled statically into libperl -miniperl: ${GENERATED} ${SRCS1:S/.c/.o/g} opmini.o perlmini.o miniperlmain.o - ${CC} ${CPPFLAGS} ${CFLAGS} -o $@ ${SRCS1:S/.c/.o/g} opmini.o perlmini.o miniperlmain.o ${LDFLAGS} -lm -lutil - -opmini.c: op.c - rm -f opmini.c - cp op.c opmini.c - -opmini.o: opmini.c - ${CC} ${CPPFLAGS} ${CFLAGS} -DPERL_EXTERNAL_GLOB -c $> -o $@ - -perlmini.o: perlmini.c - ${CC} ${CPPFLAGS} ${CFLAGS} -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL -c $> -o $@ - -lib/Config.pm: miniperl config.sh - cd ${.OBJDIR} && exec ${MAKE} preplibrary - -DynaLoader.c: miniperl ${DYNALOADER} lib/Config.pm - ./miniperl -Ilib -Idist/Cwd -Idist/Cwd/lib -Idist/ExtUtils-ParseXS/lib \ - -Icpan/Getopt-Long/lib -Idist/constant/lib -Iext/re \ - -mExtUtils::Typemaps dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp \ - -noprototypes -typemap ../../lib/ExtUtils/typemap ${DYNALOADER} | \ - sed -f ${.CURDIR}/DynaLoader.sed > $@; test -s $@ || rm -f $@ - -perl.lib: ${GENERATED} ${_LIBS} - -install: install.lib install.perl maninstall +install: install.perl maninstall -chmod -R a+rX ${DESTDIR}/usr/libdata/perl5 install.perl: cd ${.OBJDIR}; INSTALL=${INSTALL} INSTALL_COPY=${INSTALL_COPY} \ - STRIPFLAGS=${STRIPFLAGS} INSTALLFLAGS=-o NOLIBINSTALL=1 \ - LD_LIBRARY_PATH=${.OBJDIR} exec ./perl installperl --user=${LIBOWN} --group=${LIBGRP} --destdir=${DESTDIR} -o ${STRIPFLAGS} + STRIPFLAGS=${STRIPFLAGS} INSTALLFLAGS=-o \ + LD_LIBRARY_PATH=${.OBJDIR} exec ./perl installperl \ + --user=${LIBOWN} --group=${LIBGRP} \ + --destdir=${DESTDIR} -o ${STRIPFLAGS} -install.lib: - ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 lib${LIB}.a \ - ${DESTDIR}${LIBDIR} -.if (${INSTALL_COPY} != "-p") - ${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}.a -.endif - chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}.a -.if !defined(NOPROFILE) - ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m 600 \ - lib${LIB}_p.a ${DESTDIR}${LIBDIR} -.if (${INSTALL_COPY} != "-p") - ${RANLIB} -t ${DESTDIR}${LIBDIR}/lib${LIB}_p.a -.endif - chmod ${LIBMODE} ${DESTDIR}${LIBDIR}/lib${LIB}_p.a -.endif -.if !defined(NOPIC) && defined(major) && defined(minor) - ${INSTALL} ${INSTALL_COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ - lib${LIB}.so.${major}.${minor} ${DESTDIR}${LIBDIR} -.endif -.PHONY: perl.lib install.lib perl.build install.perl man.build +.PHONY: perl.build install.perl man.build + +.include <bsd.man.mk> diff --git a/gnu/usr.bin/perl/ext/DynaLoader/Makefile.PL b/gnu/usr.bin/perl/ext/DynaLoader/Makefile.PL index 81bd54665a7..864af3ed8e2 100644 --- a/gnu/usr.bin/perl/ext/DynaLoader/Makefile.PL +++ b/gnu/usr.bin/perl/ext/DynaLoader/Makefile.PL @@ -65,8 +65,8 @@ sub MY::static { return " $object : \$(FIRST_MAKEFILE) \$(OBJECT) - #\$(RM_RF) $object - #\$(CP) \$(OBJECT) $object + \$(RM_RF) $object + \$(CP) \$(OBJECT) $object static :: $object "; diff --git a/gnu/usr.bin/perl/git_version.h b/gnu/usr.bin/perl/git_version.h index 38da47c0542..87da840a7b4 100644 --- a/gnu/usr.bin/perl/git_version.h +++ b/gnu/usr.bin/perl/git_version.h @@ -1,6 +1,5 @@ /************************************************************************** -* WARNING: 'git_version.h' is automatically generated by make_patchnum.pl -* DO NOT EDIT DIRECTLY - edit make_patchnum.pl instead +* WARNING: 'git_version.h' is statically defined on OpenBSD ***************************************************************************/ #define PERL_GIT_UNPUSHED_COMMITS \ diff --git a/gnu/usr.bin/perl/hints/openbsd.sh b/gnu/usr.bin/perl/hints/openbsd.sh index 0b165077739..5f96a4d5a7d 100644 --- a/gnu/usr.bin/perl/hints/openbsd.sh +++ b/gnu/usr.bin/perl/hints/openbsd.sh @@ -31,6 +31,14 @@ case "$osvers" in d_setruid=$undef esac +# OpenBSD 5.5 on has 64 bit time_t +case "$osvers" in +[0-4].*|5.[0-4]) ;; +*) + cppflags="$cppflags -DBIG_TIME" + ;; +esac + # # Not all platforms support dynamic loading... # For the case of "$openbsd_distribution", the hints file @@ -47,7 +55,11 @@ alpha-2.[0-8]|mips-2.[0-8]|powerpc-2.[0-7]|m88k-[2-4].*|m88k-5.[0-2]|hppa-3.[0-5 test -z "$usedl" && usedl=$define # We use -fPIC here because -fpic is *NOT* enough for some of the # extensions like Tk on some OpenBSD platforms (ie: sparc) - cccdlflags="-DPIC -fPIC $cccdlflags" + PICFLAG=-fPIC + if [ -e /usr/share/mk/bsd.own.mk ]; then + PICFLAG=`make -f /usr/share/mk/bsd.own.mk -V PICFLAG` + fi + cccdlflags="-DPIC ${PICFLAG} $cccdlflags" case "$osvers" in [01].*|2.[0-7]|2.[0-7].*) lddlflags="-Bshareable $lddlflags" @@ -58,7 +70,7 @@ alpha-2.[0-8]|mips-2.[0-8]|powerpc-2.[0-7]|m88k-[2-4].*|m88k-5.[0-2]|hppa-3.[0-5 ;; *) # from 3.1 onwards ld=${cc:-cc} - lddlflags="-shared -fPIC $lddlflags" + lddlflags="-shared ${PICFLAG} $lddlflags" libswanted=`echo $libswanted | sed 's/ dl / /'` ;; esac @@ -84,6 +96,7 @@ esac # around for old NetBSD binaries. libswanted=`echo $libswanted | sed 's/ crypt / /'` +# OpenBSD hasn't ever needed linking to libutil libswanted=`echo $libswanted | sed 's/ util / /'` # Configure can't figure this out non-interactively @@ -103,6 +116,18 @@ m88k-3.4) ;; esac +# +# Unaligned access on alpha with -ftree-ter +# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59679 +# More details +# https://rt.perl.org/Public/Bug/Display.html?id=120888 +# +case "${ARCH}-${osvers}" in + alpha-*) + ccflags="-fno-tree-ter $ccflags" + ;; +esac + # Special per-arch specific ccflags case "${ARCH}-${osvers}" in vax-*) @@ -167,4 +192,7 @@ esac # which is being fixed. In the meantime, forbid POSIX 2008 locales d_newlocale="$undef" +# OpenBSD's locale support is not that complete yet +ccflags="-DNO_LOCALE_NUMERIC -DNO_LOCALE_COLLATE $ccflags" + # end diff --git a/gnu/usr.bin/perl/installperl b/gnu/usr.bin/perl/installperl index 1ca3b992623..06dda060232 100644 --- a/gnu/usr.bin/perl/installperl +++ b/gnu/usr.bin/perl/installperl @@ -383,7 +383,7 @@ elsif ($Is_Cygwin) { # On Cygwin symlink it to CORE to make Makefile happy # [als] hard-coded 'libperl' name... not good! #@corefiles = <*.h libperl*.* perl*$Config{lib_ext}>; @corefiles = <*.h *.inc perl*$Config{lib_ext}>; - push(@corefiles,<libperl*.*>) unless defined($ENV{"NOLIBINSTALL"}); + install($libperl, "$opts{destdir}$Config{glibpth}/$libperl", "0444"); # AIX needs perl.exp installed as well. push(@corefiles,'perl.exp') if $^O eq 'aix'; diff --git a/gnu/usr.bin/perl/lib/Config_git.pl b/gnu/usr.bin/perl/lib/Config_git.pl index 6aacc4c1f4d..ef248282f23 100644 --- a/gnu/usr.bin/perl/lib/Config_git.pl +++ b/gnu/usr.bin/perl/lib/Config_git.pl @@ -1,6 +1,5 @@ ###################################################################### -# WARNING: 'lib/Config_git.pl' is generated by make_patchnum.pl -# DO NOT EDIT DIRECTLY - edit make_patchnum.pl instead +# WARNING: 'lib/Config_git.pl' is statically defined on OpenBSD ###################################################################### $Config::Git_Data=<<'ENDOFGIT'; git_commit_id='' diff --git a/gnu/usr.bin/perl/numeric.c b/gnu/usr.bin/perl/numeric.c index e8e8cadf176..2ac50a35daa 100644 --- a/gnu/usr.bin/perl/numeric.c +++ b/gnu/usr.bin/perl/numeric.c @@ -34,8 +34,8 @@ values, including such things as replacements for the OS's atof() function PERL_STATIC_INLINE NV S_strtod(pTHX_ const char * const s, char ** e) { - DECLARATION_FOR_LC_NUMERIC_MANIPULATION; NV result; + DECLARATION_FOR_LC_NUMERIC_MANIPULATION; STORE_LC_NUMERIC_SET_TO_NEEDED(); |