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

Introduction of ppc64le crc32c assembly file has made the stack executable

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Critical - P2 Critical - P2
    • WT2.9.0, 3.2.7, 3.3.8
    • Affects Version/s: None
    • Component/s: None

      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.

            Assignee:
            michael.cahill@mongodb.com Michael Cahill (Inactive)
            Reporter:
            andrew.morrow@mongodb.com Andrew Morrow (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: