Fix for 8014669, build flags issue

David Holmes david.holmes at oracle.com
Thu May 16 00:43:14 UTC 2013


Hi Bill,

On 16/05/2013 10:05 AM, David Holmes wrote:
> Hi Bill,
>
> (re-fixed the build-dev alias)
>
> On 16/05/2013 6:48 AM, BILL PITTORE wrote:
>> Some architecture dependent flags do not make it through to the
>> libjsig.so and libsaproc.so makefiles. As a result, the libs are not
>> compiled/linked with the correct flags for that particular variant. Fix
>> is to make sure EXTRA_CFLAGS propogates down correctly.
>>
>> http://cr.openjdk.java.net/~bpittore/8014669/webrev.00/
>
> I need to look closer at this. Passing all of the EXTRA_CFLAGS as link
> options seems wrong to me as they may not be valid linker options. That
> said I see that in this case we are actually using the C compiler to do
> the linking. But that said, in the saproc case we are also compiling C
> source files at the same time which means that EXTRA_CFLAGS is needed on
> the main command line, not tucked onto the LD flags. And the implication
> here is that cross-compilation of libsaproc has been broken all this
> time for any platform where the default gcc output would be wrong!

Given in both cases we use CC to compile and link I think the more 
explicit solution here is to add EXTRA_CFLAGS as a primary argument to 
the $(CC) invocation  - see below.

Thanks,
David

diff -r 293b99787401 make/linux/makefiles/jsig.make
--- a/make/linux/makefiles/jsig.make
+++ b/make/linux/makefiles/jsig.make
@@ -54,7 +54,7 @@
  $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
         @echo Making signal interposition lib...
         $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
-                         $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) -o $@ $< -ldl
+                         $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) 
$(EXTRA_CFLAGS) -o $@ $< -ldl
  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
         $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
         $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@
diff -r 293b99787401 make/linux/makefiles/saproc.make
--- a/make/linux/makefiles/saproc.make
+++ b/make/linux/makefiles/saproc.make
@@ -92,6 +92,7 @@
                    $(SASRCFILES)                                        \
                    $(SA_LFLAGS)                                         \
                    $(SA_DEBUG_CFLAGS)                                   \
+                   $(EXTRA_CFLAGS)                                      \
                    -o $@                                                \
                    -lthread_db
  ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)




More information about the build-dev mailing list