Re: svn commit: r354491 - in head: . lib/msun/src libexec libexec/rtld-elf libexec/rtld-elf32 share/mk usr.bin usr.bin/ldd32

2019-11-12 Thread Guido Falsi
On 12/11/19 23:33, Brooks Davis wrote:
> On Tue, Nov 12, 2019 at 10:14:28PM +0100, Guido Falsi wrote:
>> On 07/11/19 23:58, Brooks Davis wrote:
>>> Author: brooks
>>> Date: Thu Nov  7 22:58:10 2019
>>> New Revision: 354491
>>> URL: https://svnweb.freebsd.org/changeset/base/354491
>>>
>>> Log:
>>>   libcompat: build 32-bit rtld and ldd as part of "everything"
>>>   
>>>   Alter bsd.compat.mk to set MACHINE and MACHINE_ARCH when included
>>>   directly so MD paths in Makefiles work. In the process centralize
>>>   setting them in LIBCOMPATWMAKEENV.
>>>   
>>>   Alter .PATH and CFLAGS settings in work when the Makefile is included.
>>>   
>>>   While here only support LIB32 on supported platforms rather than always
>>>   enabling it and requiring users of MK_LIB32 to filter based
>>>   TARGET/MACHINE_ARCH.
>>>   
>>>   The net effect of this change is to make Makefile.libcompat only build
>>>   compatability libraries.
>>>   
>>>   Changes relative to r354449:
>>>   
>>>   Correct detection of the compiler type when bsd.compat.mk is used
>>>   outside Makefile.libcompat.  Previously it always matched the clang
>>>   case.
>>>   
>>>   Set LDFLAGS including the linker emulation for mips where -m32 seems to
>>>   be insufficent.
>>>   
>>>   Reviewed by:  imp, kib (origional version in r354449)
>>>   Obtained from:CheriBSD (conceptually)
>>>   Sponsored by: DARPA, AFRL
>>>   Differential Revision:https://reviews.freebsd.org/D22251
>>>
>>
>> Hi,
>>
>> I'm using pkgbase on my head machines and I'm getting this when
>> upgrading packages on head now:
>>
>> Checking integrity... done (1 conflicting)
>>   - FreeBSD-clibs-lib32-13.0.s20191112204216 [mpnet-base] conflicts with
>> FreeBSD-clibs-13.0.s20191112204216 [installed] on
>> /usr/share/man/man1/ld-elf.so.1.1.gz
>>
>>
>> So now these packages, which should be able to cohexist conflict on the
>> man page.
>>
>> I'm not sure, but wthis commit looks like a good candidate for causing this.
> 
> It turns out that I'd missed there being an MLINKS variable.  The MAN?=
> part worked as designed but the new code was installing duplication
> links to rtld.1.

I was looking at that, but had no time to test such a fix.

> 
> Should be fixed in r354663.

Thanks a lot for the quick fix!

-- 
Guido Falsi 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r354491 - in head: . lib/msun/src libexec libexec/rtld-elf libexec/rtld-elf32 share/mk usr.bin usr.bin/ldd32

2019-11-12 Thread Brooks Davis
On Tue, Nov 12, 2019 at 10:14:28PM +0100, Guido Falsi wrote:
> On 07/11/19 23:58, Brooks Davis wrote:
> > Author: brooks
> > Date: Thu Nov  7 22:58:10 2019
> > New Revision: 354491
> > URL: https://svnweb.freebsd.org/changeset/base/354491
> > 
> > Log:
> >   libcompat: build 32-bit rtld and ldd as part of "everything"
> >   
> >   Alter bsd.compat.mk to set MACHINE and MACHINE_ARCH when included
> >   directly so MD paths in Makefiles work. In the process centralize
> >   setting them in LIBCOMPATWMAKEENV.
> >   
> >   Alter .PATH and CFLAGS settings in work when the Makefile is included.
> >   
> >   While here only support LIB32 on supported platforms rather than always
> >   enabling it and requiring users of MK_LIB32 to filter based
> >   TARGET/MACHINE_ARCH.
> >   
> >   The net effect of this change is to make Makefile.libcompat only build
> >   compatability libraries.
> >   
> >   Changes relative to r354449:
> >   
> >   Correct detection of the compiler type when bsd.compat.mk is used
> >   outside Makefile.libcompat.  Previously it always matched the clang
> >   case.
> >   
> >   Set LDFLAGS including the linker emulation for mips where -m32 seems to
> >   be insufficent.
> >   
> >   Reviewed by:  imp, kib (origional version in r354449)
> >   Obtained from:CheriBSD (conceptually)
> >   Sponsored by: DARPA, AFRL
> >   Differential Revision:https://reviews.freebsd.org/D22251
> > 
> 
> Hi,
> 
> I'm using pkgbase on my head machines and I'm getting this when
> upgrading packages on head now:
> 
> Checking integrity... done (1 conflicting)
>   - FreeBSD-clibs-lib32-13.0.s20191112204216 [mpnet-base] conflicts with
> FreeBSD-clibs-13.0.s20191112204216 [installed] on
> /usr/share/man/man1/ld-elf.so.1.1.gz
> 
> 
> So now these packages, which should be able to cohexist conflict on the
> man page.
> 
> I'm not sure, but wthis commit looks like a good candidate for causing this.

It turns out that I'd missed there being an MLINKS variable.  The MAN?=
part worked as designed but the new code was installing duplication
links to rtld.1.

Should be fixed in r354663.

Thanks,
Brooks


signature.asc
Description: PGP signature


Re: svn commit: r354491 - in head: . lib/msun/src libexec libexec/rtld-elf libexec/rtld-elf32 share/mk usr.bin usr.bin/ldd32

2019-11-12 Thread Guido Falsi
On 07/11/19 23:58, Brooks Davis wrote:
> Author: brooks
> Date: Thu Nov  7 22:58:10 2019
> New Revision: 354491
> URL: https://svnweb.freebsd.org/changeset/base/354491
> 
> Log:
>   libcompat: build 32-bit rtld and ldd as part of "everything"
>   
>   Alter bsd.compat.mk to set MACHINE and MACHINE_ARCH when included
>   directly so MD paths in Makefiles work. In the process centralize
>   setting them in LIBCOMPATWMAKEENV.
>   
>   Alter .PATH and CFLAGS settings in work when the Makefile is included.
>   
>   While here only support LIB32 on supported platforms rather than always
>   enabling it and requiring users of MK_LIB32 to filter based
>   TARGET/MACHINE_ARCH.
>   
>   The net effect of this change is to make Makefile.libcompat only build
>   compatability libraries.
>   
>   Changes relative to r354449:
>   
>   Correct detection of the compiler type when bsd.compat.mk is used
>   outside Makefile.libcompat.  Previously it always matched the clang
>   case.
>   
>   Set LDFLAGS including the linker emulation for mips where -m32 seems to
>   be insufficent.
>   
>   Reviewed by:imp, kib (origional version in r354449)
>   Obtained from:  CheriBSD (conceptually)
>   Sponsored by:   DARPA, AFRL
>   Differential Revision:  https://reviews.freebsd.org/D22251
> 

Hi,

I'm using pkgbase on my head machines and I'm getting this when
upgrading packages on head now:

Checking integrity... done (1 conflicting)
  - FreeBSD-clibs-lib32-13.0.s20191112204216 [mpnet-base] conflicts with
FreeBSD-clibs-13.0.s20191112204216 [installed] on
/usr/share/man/man1/ld-elf.so.1.1.gz


So now these packages, which should be able to cohexist conflict on the
man page.

I'm not sure, but wthis commit looks like a good candidate for causing this.

Sorry if I'm wrong.

> Modified: head/libexec/rtld-elf/Makefile
> ==
> --- head/libexec/rtld-elf/MakefileThu Nov  7 22:26:54 2019
> (r354490)
> +++ head/libexec/rtld-elf/MakefileThu Nov  7 22:58:10 2019
> (r354491)
> @@ -4,6 +4,8 @@
>  # linker:
>  # make DEBUG_FLAGS=-g WITHOUT_TESTS=yes all
>  
> +RTLD_ELF_DIR:=   ${.PARSEDIR}
> +
>  .include 
>  PACKAGE= clibs
>  MK_PIE=  no # Always position independent using local rules
> @@ -25,16 +27,16 @@ SRCS= \
>   xmalloc.c \
>   debug.c \
>   libmap.c
> -MAN= rtld.1
> +MAN?=rtld.1

Maybe this part is not workking as expected?


-- 
Guido Falsi 
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"


Re: svn commit: r354491 - in head: . lib/msun/src libexec libexec/rtld-elf libexec/rtld-elf32 share/mk usr.bin usr.bin/ldd32

2019-11-08 Thread John Baldwin
On 11/7/19 2:58 PM, Brooks Davis wrote:
> Author: brooks
> Date: Thu Nov  7 22:58:10 2019
> New Revision: 354491
> URL: https://svnweb.freebsd.org/changeset/base/354491
> 
> Log:
>   libcompat: build 32-bit rtld and ldd as part of "everything"
>   
>   Alter bsd.compat.mk to set MACHINE and MACHINE_ARCH when included
>   directly so MD paths in Makefiles work. In the process centralize
>   setting them in LIBCOMPATWMAKEENV.
>   
>   Alter .PATH and CFLAGS settings in work when the Makefile is included.
>   
>   While here only support LIB32 on supported platforms rather than always
>   enabling it and requiring users of MK_LIB32 to filter based
>   TARGET/MACHINE_ARCH.
>   
>   The net effect of this change is to make Makefile.libcompat only build
>   compatability libraries.
>   
>   Changes relative to r354449:
>   
>   Correct detection of the compiler type when bsd.compat.mk is used
>   outside Makefile.libcompat.  Previously it always matched the clang
>   case.
>   
>   Set LDFLAGS including the linker emulation for mips where -m32 seems to
>   be insufficent.

Hmm, so mips doesn't use -m32 at all (it doesn't work there), but mips should
be setting -mabi=o32 which the compiler driver should use to pass the
right linker emulation to ld.  Only bare LD instances (which mostly don't
exist anymore) should require the explicit emulation.  That is what the old
Makefile.libcompat was doing which worked fine.

-- 
John Baldwin
___
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"