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
    • Labels:

      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.

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