Skip to contentSkip to conversation

fix portmap on mips, remove old slugos workaround

PATCH In review Graham Gower 3 participants 3 messages Aug 5, 2009 – Aug 9, 2009

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix portmap on mips, remove old slugos workaround

Portmap built for mipsel with gcc-4.3.3 segfaults instantly, fails to build with gcc-4.4 and provides the following:

| /home/grg/oe/tmp/cross/mipsel/lib/gcc/mipsel-angstrom-linux/4.4.1/../../../../mipsel-angstrom-linux/bin/ld: portmap.o: relocation R_MIPS_HI16 against `__gnu_local_gp' can not be used when making a shared object; recompile with -fPIC

The CFLAGS in portmap's Makefile contains -fpie, but is ignored. The CFLAGS I've added below are constructed from portmap's Makefile. When built with gcc-4.3.3 the resultant binary no longer segfaults.

RE: Remove this patch when SlugOS upgrades to binutils 1.18
It looks like this is now the case, so I've removed the slugos workaround.

-Graham

recipes/portmap/portmap-6.0/no-pie.patch deleted +0 -12
deleted file mode 100644
index 4d7e2da..0000000
@@ -1,14 +0,0 @@
---- portmap_6.0/Makefile.orig	2007-11-21 00:35:52.000000000 -0600
-+++ portmap_6.0/Makefile	2007-11-21 00:37:23.000000000 -0600
-@@ -125,9 +125,9 @@
- all:	portmap pmap_dump pmap_set portmap.man
- - CPPFLAGS += $(HOSTS_ACCESS)
--portmap: CFLAGS   += -fpie
-+#portmap: CFLAGS   += -fpie
- portmap: LDLIBS   += $(WRAP_LIB)
--portmap: LDFLAGS  += -pie
-+#portmap: LDFLAGS  += -pie
- portmap: portmap.o pmap_check.o from_local.o
- - from_local: CPPFLAGS += -DTEST
recipes/portmap/portmap_6.0.bb +0 -0
index cb94a48..501aa5d 100644
@@ -1,6 +1,6 @@

require portmap.inc

-PR = "r3"
+PR = "r4"

SRC_URI = "http://www.sourcefiles.org/Networking/Tools/Miscellanenous/portmap-6.0.tgz \
           file://destdir-no-strip.patch;patch=1 \
@@ -8,12 +8,10 @@ SRC_URI = "http://www.sourcefiles.org/Networking/Tools/Miscellanenous/portmap-6.
           file://no-libwrap.patch;patch=1;pnum=0 \
           file://portmap.init "

-# Remove this patch when SlugOS upgrades to binutils 1.18 -SRC_URI_append_slugos = " file://no-pie.patch;patch=1 " -
S = "${WORKDIR}/${PN}_${PV}/"

CPPFLAGS += "-DFACILITY=LOG_DAEMON -DENABLE_DNS"
+CFLAGS += "-O2 -Wall -Wstrict-prototypes -fpie"

fakeroot do_install() {
    install -d ${D}${mandir}/man8/ ${D}${base_sbindir} ${D}${sysconfdir}/init.d
#1 lore raw
Quoted 1 line · On Wednesday 05 August 2009 08:22:17 Graham Gower wrote:

Portmap built for mipsel with gcc-4.3.3 segfaults instantly, fails to build

Great, I would like to hear something from SlugOS people though...

#2 lore raw
Quoted 4 lines · Holger Hans Peter Freyther
Quoted 1 line · On Wednesday 05 August 2009 08:22:17 Graham Gower wrote:

Portmap built for mipsel with gcc-4.3.3 segfaults instantly, fails to build

Great, I would like to hear something from SlugOS people though...

Graham's patch builds for SlugOS, and the resultant binary runs without problem.

BTW, the portmap-unslung_5-9.bb recipe can be removed; it's obsolete. I'm not in a position to push that change right now, so let's just add that to the SlugOS cleanup in Graham's original patch.

Mike (mwester)