Tuesday, August 03, 2021

Re: processor-dependent optimizations / libmarisa

On 2021/08/03 13:18, Yifei Zhan wrote:
> *ping*

Better send it as an actual port submission with a description of what it
does, why we need it, etc, rather than an attachment in a thread asking
q's about processor opt's

> (sorry if this comes up too often, but I really want to get this port
> imported as there are many updates on IME require it, or will require it
> soon.)
>
> On 21/07/30 04:30AM, openbsd wrote:
> > On 21/07/26 02:36PM, Stuart Henderson wrote:
> > > Ports must not use cpu features detected at build time in the default
> > > build.
> > >
> > > In some special cases it might make sense to have a "native" flavour
> > > that is not linked to the build by default (i.e. so packages are not
> > > normally built) as long as that doesn't change the ABI.
> > >
> > > On amd64 you can use SSE2 which is present on all 64-bit capable CPUs,
> > > anything else should either have a runtime cpuid check and fall back to
> > > another implementation, or in some special cases where something else
> > > is required for the software to work at all (e.g. in textproc/hyperscan)
> > > then it will need something else which we'd probably want to look at
> > > case-by-case.
> >
> > Thanks. Perhaps I should put this into faq/ports/specialtopics.html and
> > send a patch?
> >
> > > >
> > > > marisa 0.2.6 configuration:
> > > > -------------------------------
> > > > HOST: x86_64-unknown-openbsd6.9
> > > > CXX: c++
> > > > CXXFLAGS: -g -O2 -DMARISA_USE_POPCNT -mpopcnt -DMARISA_USE_SSE4 -msse4
> > >
> > > also this suggests the port isn't passing in CXXFLAGS from ports to the
> > > build environment (port shouldn't hardcode -O2).
> >
> > I tried different combination of CONFIGURE_ENV / CONFIGURE_ARGS but -O2
> > and -pipe are still there:
> >
> > HOST: x86_64-unknown-openbsd6.9
> > CXX: c++
> > CXXFLAGS: -O2 -pipe
> > LDFLAGS:
> > PREFIX: /usr/local
> >
> > How should I debug this?
> >
> > Here is my WIP port in case anyone wants to take a look at it: `make
> > install` works and I can use it, but I'm not sure if I did things in the
> > right way.
> >
> > https://raw.githubusercontent.com/ZhanYF/static/main/libmarisa-wip.tar
> >
> > (also attached in this email)
>
>

No comments:

Post a Comment