elf.h: Drop duplicate DT_RISCV_VARIANT_CC

Message ID 20230428181947.21780-1-palmer@rivosinc.com
State Superseded
Headers
Series elf.h: Drop duplicate DT_RISCV_VARIANT_CC |

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

Palmer Dabbelt April 28, 2023, 6:19 p.m. UTC
  I missed the update from last year that included these already, having
duplicates breaks the build due to redefinition errors like

    elf/elf.h:4013: error: macro STO_RISCV_VARIANT_CC redefined
    elf.h:3941: note: location of previous definition

Reported-by: Joseph S. Myers <joseph@codesourcery.com>
Fixes: 117e8b341c ("riscv: Resolve symbols directly for symbols with STO_RISCV_VARIANT_CC.")
Link: https://inbox.sourceware.org/libc-alpha/mhng-0d9fb5a0-63fa-4b02-8029-7c20232f39ee@palmer-ri-x1c9/T/#t
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
---
bulid-many-glibcs is still churning and might take a bit, but looks like
this was just a silly mistake on my end.  I'm pretty confident this
fixes the issue, but happy to wait for the tests to finish given that I
just screwed this up.  That was before coffee, though, so maybe I can
avoid some of the blame... ;)
---
 elf/elf.h | 7 -------
 1 file changed, 7 deletions(-)
  

Comments

Fangrui Song April 28, 2023, 7:04 p.m. UTC | #1
On 2023-04-28, Palmer Dabbelt wrote:
>I missed the update from last year that included these already, having
>duplicates breaks the build due to redefinition errors like
>
>    elf/elf.h:4013: error: macro STO_RISCV_VARIANT_CC redefined
>    elf.h:3941: note: location of previous definition
>
>Reported-by: Joseph S. Myers <joseph@codesourcery.com>
>Fixes: 117e8b341c ("riscv: Resolve symbols directly for symbols with STO_RISCV_VARIANT_CC.")
>Link: https://inbox.sourceware.org/libc-alpha/mhng-0d9fb5a0-63fa-4b02-8029-7c20232f39ee@palmer-ri-x1c9/T/#t
>Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
>---
>bulid-many-glibcs is still churning and might take a bit, but looks like
>this was just a silly mistake on my end.  I'm pretty confident this
>fixes the issue, but happy to wait for the tests to finish given that I
>just screwed this up.  That was before coffee, though, so maybe I can
>avoid some of the blame... ;)
>---
> elf/elf.h | 7 -------
> 1 file changed, 7 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

We probably should keep DT_RISCV_NUM. There is just one definition.

>-/* RISC-V specific values for the st_other field.  */
>-#define STO_RISCV_VARIANT_CC 0x80

The convention appears to place DT_ STO_ definitions after R_
definitions for a particular processor.
I'd suggest that we move the definitions below R_ while keeping just one
copy.

> /* RISC-V ELF Flags */
> #define EF_RISCV_RVC 			0x0001
> #define EF_RISCV_FLOAT_ABI 		0x0006
>-- 
>2.40.0
>
  
Palmer Dabbelt April 29, 2023, 5:10 p.m. UTC | #2
On Fri, 28 Apr 2023 12:04:51 PDT (-0700), maskray@google.com wrote:
> On 2023-04-28, Palmer Dabbelt wrote:
>>I missed the update from last year that included these already, having
>>duplicates breaks the build due to redefinition errors like
>>
>>    elf/elf.h:4013: error: macro STO_RISCV_VARIANT_CC redefined
>>    elf.h:3941: note: location of previous definition
>>
>>Reported-by: Joseph S. Myers <joseph@codesourcery.com>
>>Fixes: 117e8b341c ("riscv: Resolve symbols directly for symbols with STO_RISCV_VARIANT_CC.")
>>Link: https://inbox.sourceware.org/libc-alpha/mhng-0d9fb5a0-63fa-4b02-8029-7c20232f39ee@palmer-ri-x1c9/T/#t
>>Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
>>---
>>bulid-many-glibcs is still churning and might take a bit, but looks like
>>this was just a silly mistake on my end.  I'm pretty confident this
>>fixes the issue, but happy to wait for the tests to finish given that I
>>just screwed this up.  That was before coffee, though, so maybe I can
>>avoid some of the blame... ;)
>>---
>> elf/elf.h | 7 -------
>> 1 file changed, 7 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
>
> We probably should keep DT_RISCV_NUM. There is just one definition.

Ya, thanks.  I'm not sure why I was being an idiot yesterday, but I took 
a nap and hopefully things will be better today.

>
>>-/* RISC-V specific values for the st_other field.  */
>>-#define STO_RISCV_VARIANT_CC 0x80
>
> The convention appears to place DT_ STO_ definitions after R_
> definitions for a particular processor.
> I'd suggest that we move the definitions below R_ while keeping just one
> copy.

Seems reasonable.  I've just sent a v2.

>> /* RISC-V ELF Flags */
>> #define EF_RISCV_RVC 			0x0001
>> #define EF_RISCV_FLOAT_ABI 		0x0006
>>--
>>2.40.0
>>
  

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