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

Regression: Certain native libraries did need -xF due to function reordering


    • Subcomponent:
    • Resolved In Build:
    • CPU:
    • OS:


      This is a solaris only issue, and involves possible j2se performance of
      certain non-VM native libraries.

      Part of bug fix 4880658 was the removal of -xF option for everybody, but
      it also removed it for a few libraries that were using it to reorder their
      functions for performance. (They add reorder lists to the 'ld' mapfile
      at build time, assuming the .o files were compiled with -xF).

      Since the Solaris 'ld' doesn't give fatal errors when names are mentioned in
      it's -M input file, I failed to see this problem, I had assumed 'ld' would
      bark if it encountered missing symbols in the mapfile, I was wrong.
      It appears 'ld' was emitting lots of warnings and I failed to see them
      in my build logs.

      There are lots of reorder lists for lots of native libraries built by the j2se
      workspace, actually a set of reorder lists, one for each Solaris build, e.g.
      sparc, sparcv9, i586. (see make/sun/jpeg/reorder* as examples).
      Many of these reorder lists are unused, and when used, are only used in
      the optimized builds.

      The used reorder lists I found were for these libraries:
         libjava, libhpi, libverify, libzip. libjpeg, libawt

      My recommended fix is to make sure that when the rules for adding a
      mapfile to the link options are seen in make/common/Mapfile-vers.gmk,
      to make sure that the compiler option -xF is in the compile options.

      I would have liked to turn on some 'ld' option to make the errors in
      mapfiles be fatal, but I could find no such option at this time.
      I'm not sure the builds have a goal of being 'warning free' or not.


      ###@###.### 2003-06-25




            • Assignee:
              ohair Kelly Ohair (Inactive)
              ohair Kelly Ohair (Inactive)
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: