or1k: add .note.GNU-stack section on linux

Message ID 20250106130117.1230925-1-shorne@gmail.com
State Committed
Commit 803808b4ad224ba6862538b63e59b15778c60975
Headers
Series or1k: add .note.GNU-stack section on linux |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gcc_build--master-arm fail Patch failed to apply
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 fail Patch failed to apply

Commit Message

Stafford Horne Jan. 6, 2025, 1:01 p.m. UTC
  In the OpenRISC build we get the following warning:

    ld: warning: __modsi3_s.o: missing .note.GNU-stack section implies executable stack
    ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Fix this by adding a .note.GNU-stack to indicate the stack does not need to be
executable for the lib1funcs.

Note, this is also needed for the upcoming glibc 2.41.

libgcc/
	* config/or1k/lib1funcs.S: Add .note.GNU-stack section on linux.
---
 libgcc/config/or1k/lib1funcs.S | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Jeff Law Jan. 6, 2025, 2:37 p.m. UTC | #1
On 1/6/25 6:01 AM, Stafford Horne wrote:
> In the OpenRISC build we get the following warning:
> 
>      ld: warning: __modsi3_s.o: missing .note.GNU-stack section implies executable stack
>      ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
> 
> Fix this by adding a .note.GNU-stack to indicate the stack does not need to be
> executable for the lib1funcs.
> 
> Note, this is also needed for the upcoming glibc 2.41.
> 
> libgcc/
> 	* config/or1k/lib1funcs.S: Add .note.GNU-stack section on linux.
OK for the trunk.  You've got write privs, correct?

jeff
  
Stafford Horne Jan. 6, 2025, 5:02 p.m. UTC | #2
On Mon, Jan 06, 2025 at 07:37:56AM -0700, Jeff Law wrote:
> 
> 
> On 1/6/25 6:01 AM, Stafford Horne wrote:
> > In the OpenRISC build we get the following warning:
> > 
> >      ld: warning: __modsi3_s.o: missing .note.GNU-stack section implies executable stack
> >      ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
> > 
> > Fix this by adding a .note.GNU-stack to indicate the stack does not need to be
> > executable for the lib1funcs.
> > 
> > Note, this is also needed for the upcoming glibc 2.41.
> > 
> > libgcc/
> > 	* config/or1k/lib1funcs.S: Add .note.GNU-stack section on linux.
> OK for the trunk.  You've got write privs, correct?

Thanks,

Yes I should still have access.  Also, I would like to add to the release-14
branch.  Is there anything special I need to do to add the patch there?

-Stafford
  
Jeff Law Jan. 6, 2025, 5:03 p.m. UTC | #3
On 1/6/25 10:02 AM, Stafford Horne wrote:
> On Mon, Jan 06, 2025 at 07:37:56AM -0700, Jeff Law wrote:
>>
>>
>> On 1/6/25 6:01 AM, Stafford Horne wrote:
>>> In the OpenRISC build we get the following warning:
>>>
>>>       ld: warning: __modsi3_s.o: missing .note.GNU-stack section implies executable stack
>>>       ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
>>>
>>> Fix this by adding a .note.GNU-stack to indicate the stack does not need to be
>>> executable for the lib1funcs.
>>>
>>> Note, this is also needed for the upcoming glibc 2.41.
>>>
>>> libgcc/
>>> 	* config/or1k/lib1funcs.S: Add .note.GNU-stack section on linux.
>> OK for the trunk.  You've got write privs, correct?
> 
> Thanks,
> 
> Yes I should still have access.  Also, I would like to add to the release-14
> branch.  Is there anything special I need to do to add the patch there?
Nothing really special on the release branches.

jeff
  
Stafford Horne Jan. 6, 2025, 5:26 p.m. UTC | #4
On Mon, Jan 06, 2025 at 10:03:50AM -0700, Jeff Law wrote:
> 
> 
> On 1/6/25 10:02 AM, Stafford Horne wrote:
> > On Mon, Jan 06, 2025 at 07:37:56AM -0700, Jeff Law wrote:
> > > 
> > > 
> > > On 1/6/25 6:01 AM, Stafford Horne wrote:
> > > > In the OpenRISC build we get the following warning:
> > > > 
> > > >       ld: warning: __modsi3_s.o: missing .note.GNU-stack section implies executable stack
> > > >       ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
> > > > 
> > > > Fix this by adding a .note.GNU-stack to indicate the stack does not need to be
> > > > executable for the lib1funcs.
> > > > 
> > > > Note, this is also needed for the upcoming glibc 2.41.
> > > > 
> > > > libgcc/
> > > > 	* config/or1k/lib1funcs.S: Add .note.GNU-stack section on linux.
> > > OK for the trunk.  You've got write privs, correct?
> > 
> > Thanks,
> > 
> > Yes I should still have access.  Also, I would like to add to the release-14
> > branch.  Is there anything special I need to do to add the patch there?
> Nothing really special on the release branches.

Thanks, I have pushed the patch to trunk and releases/gcc-14.

-Stafford
  

Patch

diff --git a/libgcc/config/or1k/lib1funcs.S b/libgcc/config/or1k/lib1funcs.S
index 0c2ec5fc8c4..8f7266bedb9 100644
--- a/libgcc/config/or1k/lib1funcs.S
+++ b/libgcc/config/or1k/lib1funcs.S
@@ -19,6 +19,11 @@  a copy of the GCC Runtime Library Exception along with this program;
 see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 <http://www.gnu.org/licenses/>.  */
 
+/* An executable stack is *not* required for these functions.  */
+#ifdef __linux__
+.section .note.GNU-stack,"",%progbits
+.previous
+#endif
 
 #ifdef L__mulsi3
 	.balign 4