← Back to context

Comment by tlb

6 hours ago

But in fact no modern processor/OS executes this either. Pages are marked as executable or not, and static data is loaded as non-executable pages.

that is why it was not "static const char buf[]" ;) it was not an accident

executable stacks are still common (incl on windows with some settings), and sometimes they are required (eg for gcc nested functions)

  • That won't be located on the stack either. The underlying buffer will be a TU local - ie static and not rx

    • Good grief, what a useless argument. Isn't it obvious that this could trivially be converted to a non-static array if that's really what was needed?

      1 reply →