RFR [XXS] : JDK-8081616: build fixes for --disable-warnings-as-errors
Bertrand Delsart
bertrand.delsart at oracle.com
Tue Jun 2 11:50:14 UTC 2015
On 02/06/2015 12:45, Magnus Ihse Bursie wrote:
> On 2015-06-02 12:35, Magnus Ihse Bursie wrote:
>> On 2015-06-02 12:27, David Holmes wrote:
>>> These should be removed instead.
>>>
>>> Okay but I don't think it reasonable to expect Bertrand to make such
>>> changes. In the interest of moving forward can we use his current
>>> patch and file a follow up bug to get this done properly by the build
>>> team?
>> It's not worth the trouble to put in bad code just to rip it out. I'll
>> have the patch done in five minutes, brb. :)
>
> Here's the webrev:
> http://cr.openjdk.java.net/~ihse/JDK-8081616-respect-disable-warnings-as-errors/webrev.01
>
>
> No top level changes are needed. I kept the disabling of
> unused-parameter in libsctp for pragmatic reasons. On my computer it
> compiled fine without it, but it requires more work to determine if it
> can be removed.
I was shooting for a simple fix, with no cleanup, to reduce regression
risks (particularly since I'm not an expert on the new build system).
Your fix looks like a good cleanup and should be sufficient to solve my
issue... but may have a small side effect.
In particular, If I understand correctly, the Werror in Lib-jdk.sctp.gmk
was redundant. Hence, on ppc, we were by default compiling with Werror
but without -Wno-unused-parameter. With your fix we will now be less
strict on PPC, allowing unused parameters.
This may not be a big deal since AIX is filtered-out. This would apply
only to open linux-ppc ports, if any. Hence, this is probably OK but
I'll let you grab the CR and decide whether to push it as is or not.
Thanks,
Bertrand.
>
> /Magnus
>
>>
>> /Magnus
>>
>>>
>>> Thanks,
>>> David
>>> -----
>>>
>>>> I also checked for -Werror in the code, but could only find the already
>>>> discovered location in Lib-jdk.sctp.gmk. For that, I believe the proper
>>>> solution is:
>>>> diff --git a/make/lib/Lib-jdk.sctp.gmk b/make/lib/Lib-jdk.sctp.gmk
>>>> --- a/make/lib/Lib-jdk.sctp.gmk
>>>> +++ b/make/lib/Lib-jdk.sctp.gmk
>>>> @@ -30,12 +30,8 @@
>>>> ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
>>>>
>>>> ifeq (, $(filter $(OPENJDK_TARGET_OS), macosx aix))
>>>> -
>>>> - # Suppress unused parameters required by exported JNI functions.
>>>> - SCTP_WERROR := -Werror -Wno-error=unused-parameter
>>>> - ifeq ($(OPENJDK_TARGET_CPU_ARCH), ppc)
>>>> - SCTP_WERROR :=
>>>> - endif
>>>> + # DISABLED_WARNINGS_gcc := unusused-parameter needed to
>>>> + # suppress unused parameters required by exported JNI functions.
>>>>
>>>> $(eval $(call SetupNativeCompilation,BUILD_LIBSCTP, \
>>>> LIBRARY := sctp, \
>>>> @@ -49,7 +45,7 @@
>>>> $(LIBJAVA_HEADER_FLAGS) \
>>>> -I$(SUPPORT_OUTPUTDIR)/headers/jdk.sctp \
>>>> -I$(SUPPORT_OUTPUTDIR)/headers/java.base, \
>>>> - CFLAGS_linux := $(SCTP_WERROR), \
>>>> + DISABLED_WARNINGS_gcc := unusused-parameter, \
>>>> MAPFILE :=
>>>> $(JDK_TOPDIR)/make/mapfiles/libsctp/mapfile-vers, \
>>>> LDFLAGS := $(LDFLAGS_JDKLIB) \
>>>> $(call SET_SHARED_LIBRARY_ORIGIN), \
>>>>
>>>>
>>>> However, as I said, it should probably be verified that it is correct
>>>> that the unused-parameter warning is still triggered.
>>>>
>>>> /Magnus
>>>>
>>>>
>>>>
>>>>>
>>>>> David
>>>>> -----
>>>>>
>>>>>
>>>>>
>>>>>> I can see that libsctp is a special case that hard-codes -Werror.
>>>>>> But in
>>>>>> this case we should remove the hard-coding and relying on the system
>>>>>> setting. This is probably a remnant from before the overall -Werror
>>>>>> usage, where the authors of a specific lib wanted to enforce a higher
>>>>>> standard. Also, it might be worth revisiting if
>>>>>> -Wno-error=unused-parameter is really needed. These things tend to
>>>>>> bit-rot.
>>>>>>
>>>>>> /Magnus
>>>>>>
>>>>>>>
>>>>>>> Best regards,
>>>>>>>
>>>>>>> Bertrand.
>>>>>>>
>>>>>>
>>>>
>>
>
--
Bertrand Delsart, Grenoble Engineering Center
Oracle, 180 av. de l'Europe, ZIRST de Montbonnot
38330 Montbonnot Saint Martin, FRANCE
bertrand.delsart at oracle.com Phone : +33 4 76 18 81 23
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NOTICE: This email message is for the sole use of the intended
recipient(s) and may contain confidential and privileged
information. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient,
please contact the sender by reply email and destroy all copies of
the original message.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
More information about the build-dev
mailing list