Apply freebsd specific patches dealign with ELF system from FreeBSD's

ports collection ...
This commit is contained in:
Marc G. Fournier 1999-05-17 04:13:29 +00:00
parent 61f618e73e
commit a0b7daa129
5 changed files with 15 additions and 8 deletions

View File

@ -6,7 +6,7 @@
# Copyright (c) 1998, Regents of the University of California
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.8 1999/04/30 02:04:49 momjian Exp $
# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.9 1999/05/17 04:13:24 scrappy Exp $
#
#-------------------------------------------------------------------------
@ -59,10 +59,11 @@ install-shlib-dep :=
ifeq ($(PORTNAME), freebsd)
ifdef BSD_SHLIB
install-shlib-dep := install-shlib
shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
ifdef ELF_SYSTEM
LDFLAGS_SL := -x -Bshareable
shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
LDFLAGS_SL := -x -shared -soname $(shlib)
else
shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
LDFLAGS_SL := -x -Bshareable -Bforcearchive
endif
CFLAGS += $(CFLAGS_SL)

View File

@ -83,11 +83,13 @@ BSD44_derived_dlsym(void *handle, const char *name)
void *vp;
char buf[BUFSIZ];
#ifndef __ELF__
if (*name != '_')
{
sprintf(buf, "_%s", name);
name = buf;
}
#endif
if ((vp = dlsym(handle, (char *) name)) == (void *) NULL)
sprintf(error_message, "dlsym (%s) failed", name);
return vp;

2
src/configure vendored
View File

@ -625,8 +625,8 @@ case "$host_os" in
aux*) os=aux need_tas=no ;;
linux*) os=linux need_tas=no ;;
bsdi*) os=bsdi need_tas=no ;;
freebsd3*|freebsd4*) os=freebsd need_tas=no elf=yes ;;
freebsd1*|freebsd2*) os=freebsd need_tas=no ;;
freebsd*) os=freebsd need_tas=no elf=yes ;;
netbsd*)
os=bsd need_tas=no
case "$host_cpu" in

View File

@ -20,8 +20,8 @@ case "$host_os" in
aux*) os=aux need_tas=no ;;
linux*) os=linux need_tas=no ;;
bsdi*) os=bsdi need_tas=no ;;
freebsd3*|freebsd4*) os=freebsd need_tas=no elf=yes ;;
freebsd1*|freebsd2*) os=freebsd need_tas=no ;;
freebsd*) os=freebsd need_tas=no elf=yes ;;
netbsd*)
os=bsd need_tas=no
case "$host_cpu" in

View File

@ -1,13 +1,17 @@
ifdef ELF_SYSTEM
LDFLAGS+= -export-dynamic
endif
%.so: %.o
ifdef ELF_SYSTEM
$(LD) -x -shared -o $@ $<
else
$(LD) -x -r -o $<.obj $<
@echo building shared object $@
@rm -f $@.pic
@${AR} cq $@.pic `lorder $<.obj | tsort`
${RANLIB} $@.pic
@rm -f $@
ifdef ELF_SYSTEM
$(LD) -x -Bshareable -o $@ $@.pic
else
$(LD) -x -Bshareable -Bforcearchive -o $@ $@.pic
endif