Fix elf/tst-glibelf [BZ# 30402]
Checks
Context |
Check |
Description |
dj/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
dj/TryBot-32bit |
success
|
Build for i686
|
Commit Message
Commit 117e8b341c5 added duplicate definitions of DT_RISCV_VARIANT_CC and
STO_RISCV_VARIANT_CC, as well as defining DT_RISCV_NUM to 2
(conflicts with DT_PLTRELSZ wich is also 2).
This broke several tests: elf/tst-glibcelf, elf/tst-relro-ldso,
elf/tst-relro-libc.
Fix this by reverting changes to elf/elf.h and updating
sysdeps/riscv/dl-dtprocnum.h to define DT_THISPROCNUM directly.
---
elf/elf.h | 7 -------
sysdeps/riscv/dl-dtprocnum.h | 2 +-
2 files changed, 1 insertion(+), 8 deletions(-)
Comments
+cc hsiangkai@google.com
On Sat, May 6, 2023 at 7:37 PM Paul Pluzhnikov <ppluzhnikov@google.com>
wrote:
> Commit 117e8b341c5 added duplicate definitions of DT_RISCV_VARIANT_CC and
> STO_RISCV_VARIANT_CC, as well as defining DT_RISCV_NUM to 2
> (conflicts with DT_PLTRELSZ wich is also 2).
>
> This broke several tests: elf/tst-glibcelf, elf/tst-relro-ldso,
> elf/tst-relro-libc.
>
> Fix this by reverting changes to elf/elf.h and updating
> sysdeps/riscv/dl-dtprocnum.h to define DT_THISPROCNUM directly.
> ---
> elf/elf.h | 7 -------
> sysdeps/riscv/dl-dtprocnum.h | 2 +-
> 2 files changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/elf/elf.h b/elf/elf.h
> index 4f65b5a32d..94ca23c1bb 100644
> --- a/elf/elf.h
> +++ b/elf/elf.h
> @@ -3933,13 +3933,6 @@ enum
>
> #define R_TILEGX_NUM 130
>
> -/* RISC-V specific values for the Dyn d_tag field. */
> -#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1)
> -#define DT_RISCV_NUM 2
> -
> -/* RISC-V specific values for the st_other field. */
> -#define STO_RISCV_VARIANT_CC 0x80
> -
> /* RISC-V ELF Flags */
> #define EF_RISCV_RVC 0x0001
> #define EF_RISCV_FLOAT_ABI 0x0006
> diff --git a/sysdeps/riscv/dl-dtprocnum.h b/sysdeps/riscv/dl-dtprocnum.h
> index 281c5aadeb..d16f2415b5 100644
> --- a/sysdeps/riscv/dl-dtprocnum.h
> +++ b/sysdeps/riscv/dl-dtprocnum.h
> @@ -18,4 +18,4 @@
>
> /* Number of extra dynamic section entries for this architecture. By
> default there are none. */
> -#define DT_THISPROCNUM DT_RISCV_NUM
> +#define DT_THISPROCNUM 2
> --
> 2.40.1.521.gf1e218fcd8-goog
>
>
The subject should be "Fix elf/tst-glibcelf". Sorry for nitpicking but
glib is a completely different library, so let's not puzzle people :).
On Sun, 2023-05-07 at 02:37 +0000, Paul Pluzhnikov via Libc-alpha wrote:
> Commit 117e8b341c5 added duplicate definitions of DT_RISCV_VARIANT_CC
> and
> STO_RISCV_VARIANT_CC, as well as defining DT_RISCV_NUM to 2
> (conflicts with DT_PLTRELSZ wich is also 2).
>
> This broke several tests: elf/tst-glibcelf, elf/tst-relro-ldso,
> elf/tst-relro-libc.
>
> Fix this by reverting changes to elf/elf.h and updating
> sysdeps/riscv/dl-dtprocnum.h to define DT_THISPROCNUM directly.
> ---
> elf/elf.h | 7 -------
> sysdeps/riscv/dl-dtprocnum.h | 2 +-
> 2 files changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/elf/elf.h b/elf/elf.h
> index 4f65b5a32d..94ca23c1bb 100644
> --- a/elf/elf.h
> +++ b/elf/elf.h
> @@ -3933,13 +3933,6 @@ enum
>
> #define R_TILEGX_NUM 130
>
> -/* RISC-V specific values for the Dyn d_tag field. */
> -#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1)
> -#define DT_RISCV_NUM 2
> -
> -/* RISC-V specific values for the st_other field. */
> -#define STO_RISCV_VARIANT_CC 0x80
> -
> /* RISC-V ELF Flags */
> #define EF_RISCV_RVC 0x0001
> #define EF_RISCV_FLOAT_ABI 0x0006
> diff --git a/sysdeps/riscv/dl-dtprocnum.h b/sysdeps/riscv/dl-
> dtprocnum.h
> index 281c5aadeb..d16f2415b5 100644
> --- a/sysdeps/riscv/dl-dtprocnum.h
> +++ b/sysdeps/riscv/dl-dtprocnum.h
> @@ -18,4 +18,4 @@
>
> /* Number of extra dynamic section entries for this architecture. By
> default there are none. */
> -#define DT_THISPROCNUM DT_RISCV_NUM
> +#define DT_THISPROCNUM 2
You are right. I tweaked the commit message, but then sent the wrong
'git format-patch' result (contents of the patch is the same, only the
commit message is updated). Sorry about that.
I've updated the subject of this thread.
The tweaked commit message is:
Fix [BZ# 30402] (failing tests elf/tst-{glibcelf,relro-ldso,relro-libc})
Commit 117e8b341c5 added duplicate definitions of DT_RISCV_VARIANT_CC and
STO_RISCV_VARIANT_CC, as well as defining DT_RISCV_NUM to 2
(conflicts with DT_PLTRELSZ which is also 2).
This broke several tests: elf/tst-glibcelf, elf/tst-relro-ldso,
elf/tst-relro-libc.
Fix this by reverting changes to elf/elf.h and updating
sysdeps/riscv/dl-dtprocnum.h to define DT_THISPROCNUM directly.
On Sat, May 6, 2023 at 7:59 PM Xi Ruoyao <xry111@xry111.site> wrote:
>
> The subject should be "Fix elf/tst-glibcelf". Sorry for nitpicking but
> glib is a completely different library, so let's not puzzle people :).
>
> On Sun, 2023-05-07 at 02:37 +0000, Paul Pluzhnikov via Libc-alpha wrote:
> > Commit 117e8b341c5 added duplicate definitions of DT_RISCV_VARIANT_CC
> > and
> > STO_RISCV_VARIANT_CC, as well as defining DT_RISCV_NUM to 2
> > (conflicts with DT_PLTRELSZ wich is also 2).
> >
> > This broke several tests: elf/tst-glibcelf, elf/tst-relro-ldso,
> > elf/tst-relro-libc.
> >
> > Fix this by reverting changes to elf/elf.h and updating
> > sysdeps/riscv/dl-dtprocnum.h to define DT_THISPROCNUM directly.
> > ---
> > elf/elf.h | 7 -------
> > sysdeps/riscv/dl-dtprocnum.h | 2 +-
> > 2 files changed, 1 insertion(+), 8 deletions(-)
> >
> > diff --git a/elf/elf.h b/elf/elf.h
> > index 4f65b5a32d..94ca23c1bb 100644
> > --- a/elf/elf.h
> > +++ b/elf/elf.h
> > @@ -3933,13 +3933,6 @@ enum
> >
> > #define R_TILEGX_NUM 130
> >
> > -/* RISC-V specific values for the Dyn d_tag field. */
> > -#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1)
> > -#define DT_RISCV_NUM 2
> > -
> > -/* RISC-V specific values for the st_other field. */
> > -#define STO_RISCV_VARIANT_CC 0x80
> > -
> > /* RISC-V ELF Flags */
> > #define EF_RISCV_RVC 0x0001
> > #define EF_RISCV_FLOAT_ABI 0x0006
> > diff --git a/sysdeps/riscv/dl-dtprocnum.h b/sysdeps/riscv/dl-
> > dtprocnum.h
> > index 281c5aadeb..d16f2415b5 100644
> > --- a/sysdeps/riscv/dl-dtprocnum.h
> > +++ b/sysdeps/riscv/dl-dtprocnum.h
> > @@ -18,4 +18,4 @@
> >
> > /* Number of extra dynamic section entries for this architecture. By
> > default there are none. */
> > -#define DT_THISPROCNUM DT_RISCV_NUM
> > +#define DT_THISPROCNUM 2
>
> --
> Xi Ruoyao <xry111@xry111.site>
> School of Aerospace Science and Technology, Xidian University
* Paul Pluzhnikov via Libc-alpha:
> Commit 117e8b341c5 added duplicate definitions of DT_RISCV_VARIANT_CC and
> STO_RISCV_VARIANT_CC, as well as defining DT_RISCV_NUM to 2
> (conflicts with DT_PLTRELSZ wich is also 2).
>
> This broke several tests: elf/tst-glibcelf, elf/tst-relro-ldso,
> elf/tst-relro-libc.
>
> Fix this by reverting changes to elf/elf.h and updating
> sysdeps/riscv/dl-dtprocnum.h to define DT_THISPROCNUM directly.
> ---
> elf/elf.h | 7 -------
> sysdeps/riscv/dl-dtprocnum.h | 2 +-
> 2 files changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/elf/elf.h b/elf/elf.h
> index 4f65b5a32d..94ca23c1bb 100644
> --- a/elf/elf.h
> +++ b/elf/elf.h
> @@ -3933,13 +3933,6 @@ enum
>
> #define R_TILEGX_NUM 130
>
> -/* RISC-V specific values for the Dyn d_tag field. */
> -#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1)
> -#define DT_RISCV_NUM 2
> -
> -/* RISC-V specific values for the st_other field. */
> -#define STO_RISCV_VARIANT_CC 0x80
> -
I've pushed a straight revert instead because STO_RISCV_VARIANT_CC is
needed by the RISC-V changes.
I think the conclusion on the other thread was that we should revert
this anyway, to simplify the fixes.
Thanks,
Florian
@@ -3933,13 +3933,6 @@ enum
#define R_TILEGX_NUM 130
-/* RISC-V specific values for the Dyn d_tag field. */
-#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1)
-#define DT_RISCV_NUM 2
-
-/* RISC-V specific values for the st_other field. */
-#define STO_RISCV_VARIANT_CC 0x80
-
/* RISC-V ELF Flags */
#define EF_RISCV_RVC 0x0001
#define EF_RISCV_FLOAT_ABI 0x0006
@@ -18,4 +18,4 @@
/* Number of extra dynamic section entries for this architecture. By
default there are none. */
-#define DT_THISPROCNUM DT_RISCV_NUM
+#define DT_THISPROCNUM 2