All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Use gcc to build shared objects
@ 2006-07-15 19:25 Phil Oester
  2006-07-20 16:31 ` Patrick McHardy
  0 siblings, 1 reply; 2+ messages in thread
From: Phil Oester @ 2006-07-15 19:25 UTC (permalink / raw)
  To: netfilter-devel

[-- Attachment #1: Type: text/plain, Size: 400 bytes --]

As suggested by Dmitry Levin and included in Fedora Core releases,
use gcc instead of ld to link shared objects.  Fedora rpm notes
refer to this fixing a plugin problem, but does not offer specifics.
But in any event, 'gcc -dumpspecs' does show gcc will pass a number
of parameters which in theory it thinks are better.

Compile tested both with and without NO_SHARED_LIBS.

Closes bug #454.

Phil



[-- Attachment #2: patch-iptableslink --]
[-- Type: text/plain, Size: 1292 bytes --]

diff -ru ipt-orig/include/iptables_common.h ipt-new/include/iptables_common.h
--- ipt-orig/include/iptables_common.h	2006-06-19 09:53:03.000000000 -0700
+++ ipt-new/include/iptables_common.h	2006-07-15 12:02:59.000000000 -0700
@@ -33,8 +33,10 @@
 extern const char *program_name, *program_version;
 extern char *lib_dir;
 
+#define _init __attribute__((constructor)) my_init
 #ifdef NO_SHARED_LIBS
 # ifdef _INIT
+#  undef _init
 #  define _init _INIT
 # endif
   extern void init_extensions(void);
diff -ru ipt-orig/Makefile ipt-new/Makefile
--- ipt-orig/Makefile	2006-07-11 14:55:05.000000000 -0700
+++ ipt-new/Makefile	2006-07-15 12:15:23.000000000 -0700
@@ -67,7 +67,7 @@
 		# The kernel is 64-bit, even though userspace is 32.
 		CFLAGS+=-DIPT_MIN_ALIGN=8 -DKERNEL_64_USERSPACE_32
 	else
-		EXT_LDFLAGS=-m elf64_sparc
+		EXT_LDFLAGS+=-Wl,-m,elf64_sparc
 	endif
 endif
 
diff -ru ipt-orig/Rules.make ipt-new/Rules.make
--- ipt-orig/Rules.make	2006-05-24 09:11:58.000000000 -0700
+++ ipt-new/Rules.make	2006-07-15 12:02:59.000000000 -0700
@@ -31,7 +31,7 @@
 	    sed -e 's@^.*\.o:@$*.d $*_sh.o:@' > $@
 
 $(SHARED_LIBS): %.so : %_sh.o
-	$(LD) -shared $(EXT_LDFLAGS) -o $@ $<
+	$(CC) -shared $(EXT_LDFLAGS) -o $@ $<
 
 $(SHARED_SE_LIBS:%.so=%.d): %.d: %.c
 	@-$(CC) -M -MG $(CFLAGS) $< | \

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] Use gcc to build shared objects
  2006-07-15 19:25 [PATCH] Use gcc to build shared objects Phil Oester
@ 2006-07-20 16:31 ` Patrick McHardy
  0 siblings, 0 replies; 2+ messages in thread
From: Patrick McHardy @ 2006-07-20 16:31 UTC (permalink / raw)
  To: Phil Oester; +Cc: netfilter-devel

Phil Oester wrote:
> As suggested by Dmitry Levin and included in Fedora Core releases,
> use gcc instead of ld to link shared objects.  Fedora rpm notes
> refer to this fixing a plugin problem, but does not offer specifics.
> But in any event, 'gcc -dumpspecs' does show gcc will pass a number
> of parameters which in theory it thinks are better.
> 
> Compile tested both with and without NO_SHARED_LIBS.
> 
> Closes bug #454.

Applied, thanks.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-07-20 16:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-15 19:25 [PATCH] Use gcc to build shared objects Phil Oester
2006-07-20 16:31 ` Patrick McHardy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.