> Date: Mon, 25 Oct 2021 12:37:41 +0200 (CEST)
> From: Mark Kettenis <[email protected]>
> 
> > Date: Mon, 25 Oct 2021 12:01:11 +0200
> > From: Patrick Wildt <[email protected]>
> > 
> > Hi,
> > 
> > mortimer@ has this diff in his tree for LLVM 13.  I actually haven't
> > tried to see if it works fine with LLVM 11, but I feel it needs to be
> > sent out and not just be blindly committed.
> > 
> > If someone wants to take care of this, it would be nice, so I can take
> > care of the remaining parts of sending out the LLVM 13 diff.
> 
> > diff --git a/lib/libc/arch/amd64/sys/brk.S b/lib/libc/arch/amd64/sys/brk.S
> > index ce69679e389..ee1c11f7643 100644
> > --- a/lib/libc/arch/amd64/sys/brk.S
> > +++ b/lib/libc/arch/amd64/sys/brk.S
> > @@ -48,7 +48,6 @@ __minbrk:
> >     END(__minbrk)
> >     .type   __minbrk,@object
> >  
> > -   .weak   brk
> >  ENTRY(brk)
> >     cmpq    %rdi,__minbrk(%rip)
> >     jb      1f
> > diff --git a/lib/libc/arch/amd64/sys/sbrk.S b/lib/libc/arch/amd64/sys/sbrk.S
> > index 8d7d68909b2..db53a6bb643 100644
> > --- a/lib/libc/arch/amd64/sys/sbrk.S
> > +++ b/lib/libc/arch/amd64/sys/sbrk.S
> > @@ -53,7 +53,6 @@ __curbrk:
> >     END(__curbrk)
> >     .type   __curbrk,@object
> >  
> > -   .weak   sbrk
> >  ENTRY(sbrk)
> >     movq    __curbrk(%rip),%rax
> >     movslq  %edi,%rsi
> 
> These functions are supposed to be weak, like they are on
> architectures that use a C implementation.  I suppose the .weak
> directive needs to come *after* the .global emitted by ENTRY().
> Putting it after the END() works.

So I think the diff below is what we want here.

ok?


Index: lib/libc/arch/amd64/sys/brk.S
===================================================================
RCS file: /cvs/src/lib/libc/arch/amd64/sys/brk.S,v
retrieving revision 1.10
diff -u -p -r1.10 brk.S
--- lib/libc/arch/amd64/sys/brk.S       19 Aug 2017 18:24:06 -0000      1.10
+++ lib/libc/arch/amd64/sys/brk.S       25 Oct 2021 12:13:57 -0000
@@ -48,7 +48,6 @@ __minbrk:
        END(__minbrk)
        .type   __minbrk,@object
 
-       .weak   brk
 ENTRY(brk)
        cmpq    %rdi,__minbrk(%rip)
        jb      1f
@@ -63,3 +62,4 @@ ENTRY(brk)
        SET_ERRNO
        ret
 END(brk)
+       .weak   brk
Index: lib/libc/arch/amd64/sys/sbrk.S
===================================================================
RCS file: /cvs/src/lib/libc/arch/amd64/sys/sbrk.S,v
retrieving revision 1.10
diff -u -p -r1.10 sbrk.S
--- lib/libc/arch/amd64/sys/sbrk.S      19 Aug 2017 18:24:06 -0000      1.10
+++ lib/libc/arch/amd64/sys/sbrk.S      25 Oct 2021 12:13:57 -0000
@@ -53,7 +53,6 @@ __curbrk:
        END(__curbrk)
        .type   __curbrk,@object
 
-       .weak   sbrk
 ENTRY(sbrk)
        movq    __curbrk(%rip),%rax
        movslq  %edi,%rsi
@@ -68,3 +67,4 @@ ENTRY(sbrk)
        SET_ERRNO
        ret
 END(sbrk)
+       .weak   sbrk

Reply via email to