Front page | perl.perl5.porters |
Postings from March 2013
Re: New EBCDIC branch available
From:
Karl Williamson
Date:
March 1, 2013 05:10
Subject:
Re: New EBCDIC branch available
Message ID:
51303835.1060202@khwilliamson.com
On 02/28/2013 06:51 PM, John Goodyear wrote:
> "H.Merijn Brand" wrote on 02/28/2013 02:23:33 AM:
>
> > Subject: Re: New EBCDIC branch available
> >
> > On Wed, 27 Feb 2013 16:36:46 -0700, Karl Williamson
> > <public@khwilliamson.com> wrote:
> >
> > > On 02/26/2013 08:41 PM, John Goodyear wrote:
> > > > Karl,
> > > > I pulled down a snapshot from the link you provided.
> > > >
> > > > Here is the configure output: of
> > > >
> > > > sh ./Configure -Dprefix=/u/jgood/local -Dusedl -Dusedevel -de >
> > > > configure.out 2>&1&
> > > >
> > > >
> > > > /(See attached file: configure.out)/
> > > >
> > > >
> > > > WRT to the errors previously seen during the makedepend step, besides
> > > > the errors about missing headers which don't yet exist in the
> makedepend
> > > > phase, the only remain error is:
> > > >
> > > > 2002 Finding dependencies for pp_sys.o.
> > > > 2003 ERROR CCN3010 ./time64.c:478 Macro PeRl_CaTiFy invoked
> with a
> > > > null argument for parameter a.
> > > > 2004 ERROR CCN3010 ./time64.c:478 Macro PeRl_CaTiFy invoked
> with a
> > > > null argument for parameter a.
> > >
> > > These appear to be Configure not finding the values for LOCALTIME_MAX
> > > and LOCALTIME_MIN. Look in your config.h to see what happened for
> them.
> >
> > If there is a (real) bug in the detection system, we might also need to
> > update other modules. The detection was part of Schwern and me "fixing"
> > y2038 problems.
>
>
> Here is another wrinkle from z:
> To get LOCALTIME_MIN/MAX to work -Wc,LANGLVL(LONGLONG) needs to be
> passed to the
> compiler so the local_check() function with the test against
> 0x7ffffffffffff000LL
> will work. The wrinkle is that it (usually) needs to be
> -Wc,"LANGLVL(LONGLONG)"
> so the shell does not complain about the parenthesis. It seems there
> was some
> level of wrestling to get float(ieee) added to ccflags vial the
> config.arch support.
>
> Unless I'm mistaken, doing this doesn't make the values available inside
> of the
> Configure script so all of the tests that need LANGLVL(LONGLONG) don't
> see it.
>
> I tried various combinations of quotes, escaped quotes, ect..., but
> couldn't find
> the right combination that would make all of the different references to
> $ccflags
> happy.
>
> >
> > > I also added code to makedepend to cut line lengths input to cpp to
> 1000
> > > (should be less than any of their limits). I think that would have
> > > solved the grep problem.
> >
>
> Now I get this sed error for each of the files makedepend runs against:
>
> sed: FSUM6660 contents of { } or \{ \} invalid
>
>
> I turned on trace in the hopes it would shed some light on what's going on.
>
> + echo Finding dependencies for doio.o.
> Finding dependencies for doio.o.
> + 1> UU/doio.c.c
> + echo #line 2 "doio.c"
> + sed -n -e /^doio_init(/q -e : testcontinuation -e /^[
> ]*#/s|[ ]*/\*..*\*/[ ]*| | -e /\\$/{ -e N -e
> b testcontinuation -e } -e s/[ ]*\\\n[ ]*/ /g -e /^#line/d
> -e /^[ ]*#/{ -e s|[ ]*/\*[^*].*$|| -e s|[
> ]*/\*\*[^/].*$|| -e s/.\{1000\}/&\\\n/g -e p -e }
> + 0< doio.c
> sed: FSUM6660 contents of { } or \{ \} invalid
> + [ os390 = os390 ]
> + cppstdin -I.
> + 0< UU/doio.c.c
> + sed -e /^#.*<stdin>/d -e /^#.*"-"/d -e /^#.*git_version\.h/d -e
> s#\.[0-9][0-9]*\.c#doio.c.c# -e s/^[ ]*#[ ]*line/
> #/ -e /^# *[0-9][0-9]* *[".\/]/!d -e
> s/^.*"\(.*\)".*$/doio\$(OBJ_EXT): \1/ -e s/^# *[0-9][0-9]*
> \(.*\)$/doio\$(OBJ_EXT):
> \1/ -e s|: \./|: | -e s|\.c\.c|.c|
> + uniq
> + sort
> + uniq
> + 1>> .deptmp
> + echo doio$(OBJ_EXT): cflags
> + 1>> .deptmp
> + uwinfix=
> + + basename dump.c .c
> + 1<TMP> /tmp/shcaeFEBfaA
>
>
The problem is I just added this to the sed command
-e s/.\{1000\}/&\\\n/g
and for whatever reason, your system doesn't like it, but the message
indicates that it seems to know about the syntax. This was attempting
to unjoin the lines every 1000 bytes so that the preprocessor wouldn't
fail.
>
> *Karl*
> I ran make -k to see what complaints there are for the other files.
>
> - There are still "INFORMATIONAL CCN4108 ..." messages being
> emitted, but not as many as before.
> * Andy, *If the current tactic won't take care of them all, adding
> the compiler option -Wc,"SUPRESS(CCN4108)" will take care of them.
>
> - In addition to to the isIDFIRST_utf8 macro causing its problems
> with expansion > 2K, TRIE_BITMAP_SET or UTF8_TWO_BYTE_HI,
> UTF8_EIGHT_BIT_LO, UTF8_IS_CONTINUATION may be doing the same thing
>
> - Only other thing I saw was const char* vs char* agreement in pp_sys.c
>
>
> See attached file make.out
>
> /(See attached file: make.out)/
I have pushed to the branch some experimental code that doesn't do the
sed command split (please find out how to specify a quantifier in your
system's sed and let me know), and comments out two functions in
inline.h that are causing problems; it turns out they are unused in the
core anyway. Some of the macros you mention definitely should not
expand to 2K. I'd be interested in the preprocessor output of a file
that fails with these.
I don't know about the pp_sys problems, but I see that none of them are
needed for basic Perl operation. I don't know if there is a way to tell
Configure you don't want to use gethostbyFOO, but if so, that would be
an avenue to pursue short-term to get things to compile
>
>
> Regarding the macro expansion that is getting split across lines, I
> waiting on some feedback from a compiler contact.
>
>
>
> John Goodyear
>
>