Skip to content

Commit a0b7daa

Browse files
committed
Apply freebsd specific patches dealign with ELF system from FreeBSD's ports collection ...
1 parent 61f618e commit a0b7daa

File tree

5 files changed

+15
-8
lines changed

5 files changed

+15
-8
lines changed

src/Makefile.shlib

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Copyright (c) 1998, Regents of the University of California
77
#
88
# IDENTIFICATION
9-
# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.8 1999/04/30 02:04:49 momjian Exp $
9+
# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.9 1999/05/17 04:13:24 scrappy Exp $
1010
#
1111
#-------------------------------------------------------------------------
1212

@@ -59,10 +59,11 @@ install-shlib-dep :=
5959
ifeq ($(PORTNAME), freebsd)
6060
ifdef BSD_SHLIB
6161
install-shlib-dep := install-shlib
62-
shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
6362
ifdef ELF_SYSTEM
64-
LDFLAGS_SL := -x -Bshareable
63+
shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
64+
LDFLAGS_SL := -x -shared -soname $(shlib)
6565
else
66+
shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)
6667
LDFLAGS_SL := -x -Bshareable -Bforcearchive
6768
endif
6869
CFLAGS += $(CFLAGS_SL)

src/backend/port/dynloader/freebsd.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,13 @@ BSD44_derived_dlsym(void *handle, const char *name)
8383
void *vp;
8484
char buf[BUFSIZ];
8585

86+
#ifndef __ELF__
8687
if (*name != '_')
8788
{
8889
sprintf(buf, "_%s", name);
8990
name = buf;
9091
}
92+
#endif
9193
if ((vp = dlsym(handle, (char *) name)) == (void *) NULL)
9294
sprintf(error_message, "dlsym (%s) failed", name);
9395
return vp;

src/configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,8 +625,8 @@ case "$host_os" in
625625
aux*) os=aux need_tas=no ;;
626626
linux*) os=linux need_tas=no ;;
627627
bsdi*) os=bsdi need_tas=no ;;
628-
freebsd3*|freebsd4*) os=freebsd need_tas=no elf=yes ;;
629628
freebsd1*|freebsd2*) os=freebsd need_tas=no ;;
629+
freebsd*) os=freebsd need_tas=no elf=yes ;;
630630
netbsd*)
631631
os=bsd need_tas=no
632632
case "$host_cpu" in

src/configure.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ case "$host_os" in
2020
aux*) os=aux need_tas=no ;;
2121
linux*) os=linux need_tas=no ;;
2222
bsdi*) os=bsdi need_tas=no ;;
23-
freebsd3*|freebsd4*) os=freebsd need_tas=no elf=yes ;;
2423
freebsd1*|freebsd2*) os=freebsd need_tas=no ;;
24+
freebsd*) os=freebsd need_tas=no elf=yes ;;
2525
netbsd*)
2626
os=bsd need_tas=no
2727
case "$host_cpu" in

src/makefiles/Makefile.freebsd

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1+
ifdef ELF_SYSTEM
2+
LDFLAGS+= -export-dynamic
3+
endif
4+
15
%.so: %.o
6+
ifdef ELF_SYSTEM
7+
$(LD) -x -shared -o $@ $<
8+
else
29
$(LD) -x -r -o $<.obj $<
310
@echo building shared object $@
411
@rm -f $@.pic
512
@${AR} cq $@.pic `lorder $<.obj | tsort`
613
${RANLIB} $@.pic
714
@rm -f $@
8-
ifdef ELF_SYSTEM
9-
$(LD) -x -Bshareable -o $@ $@.pic
10-
else
1115
$(LD) -x -Bshareable -Bforcearchive -o $@ $@.pic
1216
endif
1317

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy