Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-2629

Introduction of ppc64le crc32c assembly file has made the stack executable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical - P2
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT2.9.0, 3.3.8, 3.2.7
    • Labels:
      None

      Description

      The newly introduced ppc64 optimized crc32c assembly routines is missing the required .note.GNU-stack section, leading to the stack of any executable that includes the generated object file having an executable stack. This can easily be seen by building MongoDB with ld.gold and adding LINKFLAGS="-Wl,--warn-execstack" to the build:

      Linking build/cached/mongo/db/ops/update_driver_test
      /usr/bin/ld.gold: warning: /tmp/crc32-0bce4f.o: missing .note.GNU-stack section implies executable stack
      

      Note that this affects all target architectures using the GNU toolchain, not just the ppc64le build, because the file is unconditionally compiled in, but its contents are #ifdef'ed out except on ppc64le.

      Note that these changes were also backported to the 3.2 branch, so this will need to be fixed on both branches.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                michael.cahill Michael Cahill
                Reporter:
                acm Andrew Morrow
              • Votes:
                1 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: