std::abs(long)

Jonathan Wakely jwakely.gcc@gmail.com
Thu Mar 27 11:25:40 GMT 2025


On Thu, 27 Mar 2025 at 10:56, Basile Starynkevitch
<basile@starynkevitch.net> wrote:
>
> On Thu, 2025-03-27 at 10:49 +0000, Jonathan Wakely via Gcc-help wrote:
> > On Thu, 27 Mar 2025 at 10:48, Tom Kacvinsky via Gcc-help
> > <gcc-help@gcc.gnu.org> wrote:
> > >
> > > On Thu, Mar 27, 2025 at 6:28 AM Tom Kacvinsky <tkacvins@gmail.com> wrote:
> > >
> > > > Hi,
> > > >
> > > > I have a shared library that was built without linking to libstd++.so.6.
> > > > The mangled named
> > > > is _Z3St3absl.  But I can't it resolved in the libraries I link against.
> > > > Where does this symbol originate?
> > > >
> > >
> > > Answering my own question - it's defined as a builtin.
> >
> > I don't think so, it's define in <bits/std_abs.h> like so:
> >
> > #ifndef __CORRECT_ISO_CPP_STDLIB_H_PROTO
> >   inline long
> >   abs(long __i) { return __builtin_labs(__i); }
> > #endif
> >
> > So it's either provided by your C library (which is the case for
> > Solaris, IIRC) or it's an inline function which should be define in
> > every object file that uses it.
>
> On Linux computers with GCC you should use the --demangle option to GNU nm or
> programmatically the  <cxxabi.h> header with its abi::__cxa_demangle function
> as documented on
> https://gcc.gnu.org/onlinedocs/libstdc++/manual/ext_demangling.html
>
> For a concrete example see the RefPerSys GPL project in my signature (it should
> become an inference engine).

The question wasn't about demangling. The demangled name is
std::abs(long) as given in the email Subject, so I assume Tom already
knows that.

(I also assume that _Z3St3absl was a typo and that _ZSt3absl was intended).







>
> Regards
>
>
>
> --
> Basile STARYNKEVITCH                            <basile@starynkevitch.net>
> 8 rue de la Faïencerie                       http://starynkevitch.net/Basile/
> 92340 Bourg-la-Reine                         https://github.com/bstarynk
> France                                https://github.com/RefPerSys/RefPerSys


More information about the Gcc-help mailing list