[OpenRISC] [PATCH v3 10/13] or1k: ABI lists

Stafford Horne
2021-12-23T08:36:49Z

On Wed, Dec 22, 2021 at 05:20:10PM -0300, Adhemerval Zanella wrote:
>
>
> On 10/12/2021 20:34, Stafford Horne via Libc-alpha wrote:
>
> > diff --git a/sysdeps/unix/sysv/linux/or1k/ld.abilist b/sysdeps/unix/sysv/linux/or1k/ld.abilist
> > new file mode 100644
> > index 0000000000..c4b85c8a33
> > --- /dev/null
> > +++ b/sysdeps/unix/sysv/linux/or1k/ld.abilist
> > @@ -0,0 +1,5 @@
> > +GLIBC_2.35 __libc_stack_end D 0x4
> > +GLIBC_2.35 __stack_chk_guard D 0x4
> > +GLIBC_2.35 __tls_get_addr F
> > +GLIBC_2.35 _dl_mcount F
> > +GLIBC_2.35 _r_debug D 0x14
>
> You will need to regenerate it to include the rseq symbols:
>
> GLIBC_2.35 __rseq_flags D 0x4
> GLIBC_2.35 __rseq_offset D 0x4
> GLIBC_2.35 __rseq_size D 0x4

OK, I will regenerate, this patch series was generated from before
these symbols were introduced.

> > diff --git a/sysdeps/unix/sysv/linux/or1k/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/or1k/libBrokenLocale.abilist
> > new file mode 100644
> > index 0000000000..366c393274
> > --- /dev/null
> > +++ b/sysdeps/unix/sysv/linux/or1k/libBrokenLocale.abilist
> > @@ -0,0 +1 @@
> > +GLIBC_2.35 __ctype_get_mb_cur_max F
> > diff --git a/sysdeps/unix/sysv/linux/or1k/libanl.abilist b/sysdeps/unix/sysv/linux/or1k/libanl.abilist
> > new file mode 100644
> > index 0000000000..c6437809db
> > --- /dev/null
> > +++ b/sysdeps/unix/sysv/linux/or1k/libanl.abilist
> > @@ -0,0 +1 @@
> > +GLIBC_2.35 __libanl_version_placeholder F
>
> This does seems right, or1k should not require the placeholder. I think
> we are missing a SHLIB_COMPAT on resolv/libanl-compat.c:
>
> diff --git a/resolv/libanl-compat.c b/resolv/libanl-compat.c
> index 29df76f278..02c18bde90 100644
> --- a/resolv/libanl-compat.c
> +++ b/resolv/libanl-compat.c
> @@ -30,6 +30,8 @@ __libanl_version_placeholder_1 (void)
> {
> }
>
> +# if SHLIB_COMPAT (libanl, GLIBC_2_2_3, GLIBC_2_34)
> compat_symbol (libanl, __libanl_version_placeholder_1,
> __libanl_version_placeholder, GLIBC_2_2_3);
> +# endif
> #endif

I confirm this fixes the issue.

> > diff --git a/sysdeps/unix/sysv/linux/or1k/libutil.abilist b/sysdeps/unix/sysv/linux/or1k/libutil.abilist
> > new file mode 100644
> > index 0000000000..f33b84813b
> > --- /dev/null
> > +++ b/sysdeps/unix/sysv/linux/or1k/libutil.abilist
> > @@ -0,0 +1 @@
> > +GLIBC_2.35 __libutil_version_placeholder F
>
> This also does not seems right, libutil-compat will only built for
> have-GLIBC_2.33, which is not the case.

I think this file is leftover now that libutil is just an libutil.a
update-abi generates nothing.

I have just deleted the file. check-abi seems to work ok.

Note, I aldo delete the other blank abilist files. So:

deleted: sysdeps/unix/sysv/linux/or1k/libanl.abilist
deleted: sysdeps/unix/sysv/linux/or1k/libdl.abilist
deleted: sysdeps/unix/sysv/linux/or1k/libpthread.abilist
deleted: sysdeps/unix/sysv/linux/or1k/librt.abilist
deleted: sysdeps/unix/sysv/linux/or1k/libutil.abilist

-Stafford