diff mbox

[v3] Fix dynamic linker issue with bind-now

Message ID 002601d055e3$89cc7740$9d6565c0$@rt-rk.com
State New
Headers show

Commit Message

Petar Jovanovic March 3, 2015, 6:54 p.m. UTC
For x86-32, it will break. So, as it appears, the test is not portable.
I can simplify it in the following way:


This would also remove the need for __((section(".bar"))) in the test.
What do you think?

Regards,
Petar

-----Original Message-----
From: Mike Frysinger [mailto:vapier@gentoo.org] 
Sent: Monday, March 2, 2015 6:39 PM
To: Petar Jovanovic
Cc: libc-alpha@sourceware.org
Subject: Re: [PATCH v3] Fix dynamic linker issue with bind-now

On 02 Mar 2015 17:13, Petar Jovanovic wrote:
> --- /dev/null
> +++ b/elf/tst-split-dynreloc.lds
> @@ -0,0 +1,6 @@
> +SECTIONS
> +{
> +   .bar : { *(.bar) }
> +}
> +INSERT AFTER .rela.dyn;

what about arches that don't use RELA relocations ?  x86 (32-bit) should be such a target and easy for you to test.
-mike

Comments

Mike Frysinger March 3, 2015, 9:47 p.m. UTC | #1
On 03 Mar 2015 19:54, Petar Jovanovic wrote:
> For x86-32, it will break. So, as it appears, the test is not portable.
> I can simplify it in the following way:
> 
> --- /dev/null
> +++ b/elf/tst-split-dynreloc.lds
> @@ -0,0 +1,10 @@
> +SECTIONS
> +{
> +  .rela.dyn : { *(.rela.dyn) }
> +  .rel.dyn : { *(.rel.dyn) }
> +  . += 1000;
> +  .rela.plt : { *(.rela.plt) }
> +  .rel.plt : { *(.rel.plt) }
> +}
> +INSERT BEFORE .init;
> 
> This would also remove the need for __((section(".bar"))) in the test.
> What do you think?

that seems kind of dicey.  i think doing it explicitly like you were before is 
less risky ?

i thought we used linker scripts in glibc tests more, but i'm not actually 
finding any.  i'm not sure if we're trying to avoid them.

there's no way to produce a test that doesn't use linker scripts but still 
triggers the problem you're fixing ?
-mike
Petar Jovanovic March 4, 2015, 1:10 a.m. UTC | #2
> that seems kind of dicey.  i think doing it explicitly like you were before is less risky ?

I would agree.

> i thought we used linker scripts in glibc tests more, but i'm not actually finding any.  i'm not sure if we're trying to avoid them.
> there's no way to produce a test that doesn't use linker scripts but still triggers the problem you're fixing ?

The problem itself will appear wihout linkers scripts too, but I do not know if we can have a small test with no use of linker scripts.

We could also omit a test if none can fit the existing test suite?

Regards,
Petar

-----Original Message-----
From: Mike Frysinger [mailto:vapier@gentoo.org] 
Sent: Tuesday, March 3, 2015 10:48 PM
To: Petar Jovanovic
Cc: libc-alpha@sourceware.org
Subject: Re: [PATCH v3] Fix dynamic linker issue with bind-now

On 03 Mar 2015 19:54, Petar Jovanovic wrote:
> For x86-32, it will break. So, as it appears, the test is not portable.
> I can simplify it in the following way:
> 
> --- /dev/null
> +++ b/elf/tst-split-dynreloc.lds
> @@ -0,0 +1,10 @@
> +SECTIONS
> +{
> +  .rela.dyn : { *(.rela.dyn) }
> +  .rel.dyn : { *(.rel.dyn) }
> +  . += 1000;
> +  .rela.plt : { *(.rela.plt) }
> +  .rel.plt : { *(.rel.plt) }
> +}
> +INSERT BEFORE .init;
> 
> This would also remove the need for __((section(".bar"))) in the test.
> What do you think?

that seems kind of dicey.  i think doing it explicitly like you were before is less risky ?

i thought we used linker scripts in glibc tests more, but i'm not actually finding any.  i'm not sure if we're trying to avoid them.

there's no way to produce a test that doesn't use linker scripts but still triggers the problem you're fixing ?
-mike
Petar Jovanovic March 7, 2015, 2:22 a.m. UTC | #3
Mike, what do you suggest?

Regards,
Petar

-----Original Message-----
From: Petar Jovanovic [mailto:petar.jovanovic@rt-rk.com] 
Sent: Wednesday, March 4, 2015 2:11 AM
To: 'Mike Frysinger'
Cc: 'libc-alpha@sourceware.org'
Subject: RE: [PATCH v3] Fix dynamic linker issue with bind-now

> that seems kind of dicey.  i think doing it explicitly like you were before is less risky ?

I would agree.

> i thought we used linker scripts in glibc tests more, but i'm not actually finding any.  i'm not sure if we're trying to avoid them.
> there's no way to produce a test that doesn't use linker scripts but still triggers the problem you're fixing ?

The problem itself will appear wihout linkers scripts too, but I do not know if we can have a small test with no use of linker scripts.

We could also omit a test if none can fit the existing test suite?

Regards,
Petar

-----Original Message-----
From: Mike Frysinger [mailto:vapier@gentoo.org] 
Sent: Tuesday, March 3, 2015 10:48 PM
To: Petar Jovanovic
Cc: libc-alpha@sourceware.org
Subject: Re: [PATCH v3] Fix dynamic linker issue with bind-now

On 03 Mar 2015 19:54, Petar Jovanovic wrote:
> For x86-32, it will break. So, as it appears, the test is not portable.
> I can simplify it in the following way:
> 
> --- /dev/null
> +++ b/elf/tst-split-dynreloc.lds
> @@ -0,0 +1,10 @@
> +SECTIONS
> +{
> +  .rela.dyn : { *(.rela.dyn) }
> +  .rel.dyn : { *(.rel.dyn) }
> +  . += 1000;
> +  .rela.plt : { *(.rela.plt) }
> +  .rel.plt : { *(.rel.plt) }
> +}
> +INSERT BEFORE .init;
> 
> This would also remove the need for __((section(".bar"))) in the test.
> What do you think?

that seems kind of dicey.  i think doing it explicitly like you were before is less risky ?

i thought we used linker scripts in glibc tests more, but i'm not actually finding any.  i'm not sure if we're trying to avoid them.

there's no way to produce a test that doesn't use linker scripts but still triggers the problem you're fixing ?
-mike
Petar Jovanovic March 11, 2015, 1:11 a.m. UTC | #4
Ping.

Regards,
Petar

-----Original Message-----
From: Petar Jovanovic [mailto:petar.jovanovic@rt-rk.com] 
Sent: Saturday, March 7, 2015 3:22 AM
To: 'Mike Frysinger'
Cc: 'libc-alpha@sourceware.org'
Subject: RE: [PATCH v3] Fix dynamic linker issue with bind-now

Mike, what do you suggest?

Regards,
Petar

-----Original Message-----
From: Petar Jovanovic [mailto:petar.jovanovic@rt-rk.com] 
Sent: Wednesday, March 4, 2015 2:11 AM
To: 'Mike Frysinger'
Cc: 'libc-alpha@sourceware.org'
Subject: RE: [PATCH v3] Fix dynamic linker issue with bind-now

> that seems kind of dicey.  i think doing it explicitly like you were before is less risky ?

I would agree.

> i thought we used linker scripts in glibc tests more, but i'm not actually finding any.  i'm not sure if we're trying to avoid them.
> there's no way to produce a test that doesn't use linker scripts but still triggers the problem you're fixing ?

The problem itself will appear wihout linkers scripts too, but I do not know if we can have a small test with no use of linker scripts.

We could also omit a test if none can fit the existing test suite?

Regards,
Petar

-----Original Message-----
From: Mike Frysinger [mailto:vapier@gentoo.org] 
Sent: Tuesday, March 3, 2015 10:48 PM
To: Petar Jovanovic
Cc: libc-alpha@sourceware.org
Subject: Re: [PATCH v3] Fix dynamic linker issue with bind-now

On 03 Mar 2015 19:54, Petar Jovanovic wrote:
> For x86-32, it will break. So, as it appears, the test is not portable.
> I can simplify it in the following way:
> 
> --- /dev/null
> +++ b/elf/tst-split-dynreloc.lds
> @@ -0,0 +1,10 @@
> +SECTIONS
> +{
> +  .rela.dyn : { *(.rela.dyn) }
> +  .rel.dyn : { *(.rel.dyn) }
> +  . += 1000;
> +  .rela.plt : { *(.rela.plt) }
> +  .rel.plt : { *(.rel.plt) }
> +}
> +INSERT BEFORE .init;
> 
> This would also remove the need for __((section(".bar"))) in the test.
> What do you think?

that seems kind of dicey.  i think doing it explicitly like you were before is less risky ?

i thought we used linker scripts in glibc tests more, but i'm not actually finding any.  i'm not sure if we're trying to avoid them.

there's no way to produce a test that doesn't use linker scripts but still triggers the problem you're fixing ?
-mike
Mike Frysinger March 11, 2015, 4:08 a.m. UTC | #5
On 03 Mar 2015 19:54, Petar Jovanovic wrote:
> For x86-32, it will break. So, as it appears, the test is not portable.
> I can simplify it in the following way:

by break, do you mean it fails to link ?  or it doesn't trigger the test ?
-mike
Petar Jovanovic March 12, 2015, 4:36 p.m. UTC | #6
-----Original Message-----
From: Mike Frysinger [mailto:vapier@gentoo.org] 
Sent: Wednesday, March 11, 2015 5:09 AM
To: Petar Jovanovic
Cc: libc-alpha@sourceware.org
Subject: Re: [PATCH v3] Fix dynamic linker issue with bind-now

> by break, do you mean it fails to link ?  or it doesn't trigger the test ?

It fails to link with a linker error:

"linker error: /usr/bin/ld: .rela.dyn not found for insert"

What I can do is to move the Makefile part into sysdeps/x86_64/Makefile.

This way, it will be triggered for x86-64 only.

What do you say?

Regards,
Petar
Petar Jovanovic March 31, 2015, 11:19 p.m. UTC | #7
Ping.

-----Original Message-----
From: Petar Jovanovic [mailto:petar.jovanovic@rt-rk.com] 
Sent: Thursday, March 12, 2015 5:37 PM
To: 'Mike Frysinger'
Cc: 'libc-alpha@sourceware.org'
Subject: RE: [PATCH v3] Fix dynamic linker issue with bind-now

-----Original Message-----
From: Mike Frysinger [mailto:vapier@gentoo.org] 
Sent: Wednesday, March 11, 2015 5:09 AM
To: Petar Jovanovic
Cc: libc-alpha@sourceware.org
Subject: Re: [PATCH v3] Fix dynamic linker issue with bind-now

> by break, do you mean it fails to link ?  or it doesn't trigger the test ?

It fails to link with a linker error:

"linker error: /usr/bin/ld: .rela.dyn not found for insert"

What I can do is to move the Makefile part into sysdeps/x86_64/Makefile.

This way, it will be triggered for x86-64 only.

What do you say?

Regards,
Petar
Petar Jovanovic April 16, 2015, 5:15 p.m. UTC | #8
Ping.

-----Original Message-----
From: Petar Jovanovic [mailto:petar.jovanovic@rt-rk.com] 
Sent: Wednesday, April 1, 2015 1:20 AM
To: 'Mike Frysinger'
Cc: 'libc-alpha@sourceware.org'
Subject: RE: [PATCH v3] Fix dynamic linker issue with bind-now

Ping.

-----Original Message-----
From: Petar Jovanovic [mailto:petar.jovanovic@rt-rk.com] 
Sent: Thursday, March 12, 2015 5:37 PM
To: 'Mike Frysinger'
Cc: 'libc-alpha@sourceware.org'
Subject: RE: [PATCH v3] Fix dynamic linker issue with bind-now

-----Original Message-----
From: Mike Frysinger [mailto:vapier@gentoo.org] 
Sent: Wednesday, March 11, 2015 5:09 AM
To: Petar Jovanovic
Cc: libc-alpha@sourceware.org
Subject: Re: [PATCH v3] Fix dynamic linker issue with bind-now

> by break, do you mean it fails to link ?  or it doesn't trigger the test ?

It fails to link with a linker error:

"linker error: /usr/bin/ld: .rela.dyn not found for insert"

What I can do is to move the Makefile part into sysdeps/x86_64/Makefile.

This way, it will be triggered for x86-64 only.

What do you say?

Regards,
Petar
diff mbox

Patch

--- /dev/null
+++ b/elf/tst-split-dynreloc.lds
@@ -0,0 +1,10 @@ 
+SECTIONS
+{
+  .rela.dyn : { *(.rela.dyn) }
+  .rel.dyn : { *(.rel.dyn) }
+  . += 1000;
+  .rela.plt : { *(.rela.plt) }
+  .rel.plt : { *(.rel.plt) }
+}
+INSERT BEFORE .init;
+