diff mbox series

Fix elf/tst-glibelf [BZ# 30402]

Message ID 20230507023737.4052382-1-ppluzhnikov@google.com
State New
Headers show
Series Fix elf/tst-glibelf [BZ# 30402] | expand

Commit Message

Paul Pluzhnikov May 7, 2023, 2:37 a.m. UTC
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

Paul Pluzhnikov May 7, 2023, 2:42 a.m. UTC | #1
+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
>
>
Xi Ruoyao May 7, 2023, 2:59 a.m. UTC | #2
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
Paul Pluzhnikov May 7, 2023, 3:06 a.m. UTC | #3
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
Florian Weimer May 7, 2023, 12:35 p.m. UTC | #4
* 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
diff mbox series

Patch

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