svn commit: r291666 - head/libexec/rtld-elf

Joerg Sonnenberger joerg at britannica.bec.de
Thu Dec 3 13:00:47 UTC 2015


On Thu, Dec 03, 2015 at 10:50:28AM +0200, Konstantin Belousov wrote:
> > Modified: head/libexec/rtld-elf/Makefile
> > ==============================================================================
> > --- head/libexec/rtld-elf/Makefile	Thu Dec  3 00:02:01 2015	(r291665)
> > +++ head/libexec/rtld-elf/Makefile	Thu Dec  3 00:06:59 2015	(r291666)
> > @@ -13,7 +13,7 @@ SRCS=		rtld_start.S \
> >  		malloc.c xmalloc.c debug.c libmap.c
> >  MAN=		rtld.1
> >  CSTD?=		gnu99
> > -CFLAGS+=	-Wall -DFREEBSD_ELF -DIN_RTLD
> > +CFLAGS+=	-Wall -DFREEBSD_ELF -DIN_RTLD -fno-builtin
> >  CFLAGS+=	-I${SRCTOP}/lib/csu/common
> >  .if exists(${.CURDIR}/${MACHINE_ARCH})
> >  RTLD_ARCH=	${MACHINE_ARCH}
> > @@ -22,7 +22,6 @@ RTLD_ARCH=	${MACHINE_CPUARCH}
> >  .endif
> >  CFLAGS+=	-I${.CURDIR}/${RTLD_ARCH} -I${.CURDIR}
> >  .if ${MACHINE_ARCH} == "powerpc64"
> > -CFLAGS+=	-mcall-aixdesc
> I wanted to set -ffreestanding for rtld compilation, but considered it only
> a minor issue.  Could you test this instead of -fno-builtin, please ?

I don't tthink either should be used -- -fno-builtin is certainly a very
blunt hammer. Are you sure that doesn't disable all kinds of useful
things like optimisations of the string functions etc?

A more selective approach would to add something like:

void *real_malloc(size_t) __asm__("malloc");

and call that. I would call it a bug that -fno-builtin-calloc does not
work.

Joerg


More information about the svn-src-all mailing list