Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8214120

[REDO] Fix sun.awt.nativedebug on X11 platforms

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 11, 12
    • Fix Version/s: 12
    • Component/s: client-libs
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b21

      Description

      AWT supports some kind of native logging which can be enabled with "-Dsun.awt.nativedebug=true -Dawtdebug.ctrace=true".

      Unfortunately this doesn't work on X platforms any more because both, libawt and libawt_xawt end up with a copy of debug_trace.o. Among others, debug_trace.o contains the static variable GlobalTracingEnabled which denotes the tracing state. This obviously can't work if the final executable contains several instances of this variable.

      The fix is trivial. Remove "common/awt/debug" from the set of sources for libawt_xawt. libawt_xawt is linked against libawt (which contains debug_trace.o) anyway, so this is no problem.

      Also JNIEXPORT the following methods from libawt.so otherwise they won't be visible in libawt_xawt.so on some platforms which make symbols local by default (e.g. Solaris):

      DAssert_Impl
      DTrace_PrintFunction
      DTrace_VPrint
      DTrace_VPrintln

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                simonis Volker Simonis
                Reporter:
                simonis Volker Simonis
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: