Hi All,

I see a build failure on AIX.

g++ -std=c++14 -c   -g -DIN_GCC    -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wno-error=narrowing -Wwrite-strings
-Wcast-qual -Wno-format -Wmissing-format-attribute
-Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings  -DHAVE_CONFIG_H
 -DGENERATOR_FILE -I. -Ibuild -I/opt/freeware/src/packages/BUILD/gcc/gcc
-I/opt/freeware/src/packages/BUILD/gcc/gcc/build
-I/opt/freeware/src/packages/BUILD/gcc/gcc/../include
 -I/opt/freeware/src/packages/BUILD/gcc/gcc/../libcpp/include
-I/home/sangam/install/include \
        -o build/gencondmd.o build/gencondmd.cc
In file included from ./tm_p.h:5,
                 from build/gencondmd.cc:29:
./tm-preds.h: In function 'size_t insn_constraint_len(char, const char*)':
./tm-preds.h:350:30: error: 'rawmemchr' was not declared in this scope; did
you mean 'wmemchr'?
  350 |       return ((const char *) rawmemchr (str + 1, '}') - str) + 1;
      |                              ^~~~~~~~~
      |                              wmemchr
g++ -std=c++14   -g -DIN_GCC    -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wno-error=narrowing -Wwrite-strings
-Wcast-qual -Wno-format -Wmissing-format-attribute
-Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings  -DHAVE_CONFIG_H
 -DGENERATOR_FILE -static-libstdc++ -static-libgcc -Wl,-bbigtoc
-Wl,-bmaxdata:0x40000000 -o build/genmatch \
    build/genmatch.o ../build-powerpc-ibm-aix7.3.1.0/libcpp/libcpp.a
build/errors.o build/vec.o build/hash-table.o build/sort.o
../build-powerpc-ibm-aix7.3.1.0/libiberty/libiberty.a
make[3]: *** [Makefile:3200: build/gencondmd.o] Error 1

Thanks,
Sangamesh

On Mon, Jul 21, 2025 at 4:46 PM Stefan Schulze Frielinghaus <
stefa...@linux.ibm.com> wrote:

> On Sat, Jul 19, 2025 at 08:26:22AM -0600, Jeff Law wrote:
> >
> >
> > On 7/17/25 2:24 AM, Stefan Schulze Frielinghaus wrote:
> > > On Wed, Jul 09, 2025 at 03:48:43PM +0200, Stefan Schulze Frielinghaus
> wrote:
> > > > This is a follow-up to
> > > > https://gcc.gnu.org/pipermail/gcc-patches/2025-May/684181.html
> > > >
> > > > I added the last missing pieces namely changelogs, and bootstrapped
> and
> > > > regtested on
> > > >
> > > > aarch64-unknown-linux-gnu
> > > > powerpc64le-unknown-linux-gnu
> > > > s390x-ibm-linux-gnu
> > > > x86_64-pc-linux-gnu
> > > >
> > > > Via cross compilers I verified the new tests for
> > > >
> > > > arm-linux-gnueabi
> > > > i686-linux-gnueabi
> > > > powerpc-linux-gnu
> > > > riscv32-linux-gnu
> > > > riscv64-linux-gnu
> > > >
> > > > Despite that I removed overloads for
> parse_{input,output}_constraint()
> > > > by passing a null pointer explicitly.  Furthermore, in case of
> register
> > > > pairs, if two constraints of operands overlap, error out and report
> the
> > > > overlapped register.  For example, on aarch64
> > > >
> > > > svuint32x2_t x, y;
> > > > asm ("" : "={z5}" (x), "={z6}" (y));
> > > >
> > > > previously I used the register as is of the first constraint in the
> > > > error message which is imprecise/misleading.  Now, I error out
> reporting
> > > > multiple outputs to register z6/v6, i.e., the actual overlapped one,
> and
> > > > not z5/v5 as previously.
> > > >
> > > > Although I found a lot of corner cases during development via
> > > > -fdemote-register-asm I removed it from this patch series.  I
> > > > compiled and used the Linux kernel and glibc successfully with it for
> > > > s390x.  For x86_64, the Linux kernel compiles fine, too, except of
> one
> > > > small manual change.  For powerpc64le, I ran into an odd case
> compiling
> > > > glibc which I would like to understand in more detail.  Since
> register
> > > > asm is not as strict as hard register constraints, for a full fledged
> > > > implementation I need to consider more corner cases.  Therefore, I
> would
> > > > like to spend some more time on this before I push this new feature.
> > > >
> > > > In total no huge changes.  Still ok for mainline?
> > >
> > > Although the v4 patches have been acked I'm not sure whether this falls
> > > under the "is obvious" rule since I changed a little bit.  If I get
> your
> > > final Ok I will push these patches and will not bother you further ;-)
> > > I already have an idea for the fourth patch (-fdemote-register-asm)
> > > which I exclude for the moment and will come back to in the future.
> > It's often left to the submitter to decide if minor adjustments require
> > another review round.   There's no firm policy.
> >
> > A fairly easy line to draw is are you just adjusting to ongoing trunk
> > changes?  If so, that's almost always not a problem and wouldn't suggest
> a
> > re-review.
> >
> > If you made substantial changes to the implementation, then a re-review
> is
> > probably advisable.
> >
> > For the stuff in the middle?  Your best judgment as an engineer ;-)
> > Certainly if you post for a re-review, give us some idea of what changed
> so
> > we know where to focus.
>
> Thanks for clarification.  Since the late time changes were rather a
> nit/fixup, I committed the v5 patches as
>
> r16-2376-g9791950017c90c
> r16-2375-gcbf17db978c663
> r16-2374-ga51c146ebce41b
>
> Cheers,
> Stefan
>


-- 
Thanks & Regards,
Sangamesh

Reply via email to