Skip to content

Commit dec1d23

Browse files
authored
Force non-executable stack for assembly object files on Linux (#170)
* force non-executable stack for assembly object files * update header copyright in assembler sources * revert comment format
1 parent 37d4b0f commit dec1d23

File tree

4 files changed

+23
-228
lines changed

4 files changed

+23
-228
lines changed

src/ittnotify/ittptmark32.S

+8-57
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,8 @@
1-
/* <copyright>
2-
This file is provided under a dual BSD/GPLv2 license. When using or
3-
redistributing this file, you may do so under either license.
4-
5-
GPL LICENSE SUMMARY
6-
7-
Copyright (c) 2017-2020 Intel Corporation. All rights reserved.
8-
9-
This program is free software; you can redistribute it and/or modify
10-
it under the terms of version 2 of the GNU General Public License as
11-
published by the Free Software Foundation.
12-
13-
This program is distributed in the hope that it will be useful, but
14-
WITHOUT ANY WARRANTY; without even the implied warranty of
15-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16-
General Public License for more details.
17-
18-
You should have received a copy of the GNU General Public License
19-
along with this program; if not, write to the Free Software
20-
Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
21-
The full GNU General Public License is included in this distribution
22-
in the file called LICENSE.GPL.
23-
24-
Contact Information:
25-
http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/
26-
27-
BSD LICENSE
28-
29-
Copyright (c) 2017-2020 Intel Corporation. All rights reserved.
30-
All rights reserved.
31-
32-
Redistribution and use in source and binary forms, with or without
33-
modification, are permitted provided that the following conditions
34-
are met:
35-
36-
* Redistributions of source code must retain the above copyright
37-
notice, this list of conditions and the following disclaimer.
38-
* Redistributions in binary form must reproduce the above copyright
39-
notice, this list of conditions and the following disclaimer in
40-
the documentation and/or other materials provided with the
41-
distribution.
42-
* Neither the name of Intel Corporation nor the names of its
43-
contributors may be used to endorse or promote products derived
44-
from this software without specific prior written permission.
45-
46-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
47-
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
48-
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
49-
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
50-
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
51-
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
52-
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
53-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
54-
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
55-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
56-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57-
</copyright> */
1+
/*
2+
Copyright (C) 2017-2025 Intel Corporation
3+
4+
SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
5+
*/
586

597

608
// /////////////////////////////////////////////////////////////////////////
@@ -762,3 +710,6 @@ __itt_pt_write:
762710
// ptwrite dword ptr [esp + 4]
763711
.byte 0xF3, 0x0F, 0xAE, 0x64, 0x24, 0x04
764712
ret
713+
714+
// Ensure the stack is non-executable
715+
.section .note.GNU-stack,"",@progbits

src/ittnotify/ittptmark32.asm

+3-57
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,7 @@
11
COMMENT @
2-
<copyright>
3-
This file is provided under a dual BSD/GPLv2 license. When using or
4-
redistributing this file, you may do so under either license.
5-
6-
GPL LICENSE SUMMARY
7-
8-
Copyright (c) 2017-2020 Intel Corporation. All rights reserved.
9-
10-
This program is free software; you can redistribute it and/or modify
11-
it under the terms of version 2 of the GNU General Public License as
12-
published by the Free Software Foundation.
13-
14-
This program is distributed in the hope that it will be useful, but
15-
WITHOUT ANY WARRANTY; without even the implied warranty of
16-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17-
General Public License for more details.
18-
19-
You should have received a copy of the GNU General Public License
20-
along with this program; if not, write to the Free Software
21-
Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
22-
The full GNU General Public License is included in this distribution
23-
in the file called LICENSE.GPL.
24-
25-
Contact Information:
26-
http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/
27-
28-
BSD LICENSE
29-
30-
Copyright (c) 2017-2020 Intel Corporation. All rights reserved.
31-
All rights reserved.
32-
33-
Redistribution and use in source and binary forms, with or without
34-
modification, are permitted provided that the following conditions
35-
are met:
36-
37-
* Redistributions of source code must retain the above copyright
38-
notice, this list of conditions and the following disclaimer.
39-
* Redistributions in binary form must reproduce the above copyright
40-
notice, this list of conditions and the following disclaimer in
41-
the documentation and/or other materials provided with the
42-
distribution.
43-
* Neither the name of Intel Corporation nor the names of its
44-
contributors may be used to endorse or promote products derived
45-
from this software without specific prior written permission.
46-
47-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
48-
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
49-
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
50-
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
51-
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
52-
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
53-
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
54-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
55-
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
56-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
57-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
58-
</copyright>
2+
Copyright (C) 2017-2025 Intel Corporation
3+
4+
SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
595
@
606

617
;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

src/ittnotify/ittptmark64.S

+9-57
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,9 @@
1-
/* <copyright>
2-
This file is provided under a dual BSD/GPLv2 license. When using or
3-
redistributing this file, you may do so under either license.
4-
5-
GPL LICENSE SUMMARY
6-
7-
Copyright (c) 2017-2020 Intel Corporation. All rights reserved.
8-
9-
This program is free software; you can redistribute it and/or modify
10-
it under the terms of version 2 of the GNU General Public License as
11-
published by the Free Software Foundation.
12-
13-
This program is distributed in the hope that it will be useful, but
14-
WITHOUT ANY WARRANTY; without even the implied warranty of
15-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16-
General Public License for more details.
17-
18-
You should have received a copy of the GNU General Public License
19-
along with this program; if not, write to the Free Software
20-
Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
21-
The full GNU General Public License is included in this distribution
22-
in the file called LICENSE.GPL.
23-
24-
Contact Information:
25-
http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/
26-
27-
BSD LICENSE
28-
29-
Copyright (c) 2017-2020 Intel Corporation. All rights reserved.
30-
All rights reserved.
31-
32-
Redistribution and use in source and binary forms, with or without
33-
modification, are permitted provided that the following conditions
34-
are met:
35-
36-
* Redistributions of source code must retain the above copyright
37-
notice, this list of conditions and the following disclaimer.
38-
* Redistributions in binary form must reproduce the above copyright
39-
notice, this list of conditions and the following disclaimer in
40-
the documentation and/or other materials provided with the
41-
distribution.
42-
* Neither the name of Intel Corporation nor the names of its
43-
contributors may be used to endorse or promote products derived
44-
from this software without specific prior written permission.
45-
46-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
47-
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
48-
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
49-
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
50-
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
51-
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
52-
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
53-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
54-
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
55-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
56-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57-
</copyright> */
1+
/*
2+
Copyright (C) 2017-2025 Intel Corporation
3+
4+
SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
5+
*/
6+
587

598
// /////////////////////////////////////////////////////////////////////////
609
////// Intel Processor Trace Marker Functionality
@@ -764,3 +713,6 @@ __itt_pt_write:
764713
// ptwrite rcx
765714
.byte 0xF3, 0x48, 0x0F, 0xAE, 0xE1
766715
ret
716+
717+
// Ensure the stack is non-executable
718+
.section .note.GNU-stack,"",@progbits

src/ittnotify/ittptmark64.asm

+3-57
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,7 @@
11
COMMENT @
2-
<copyright>
3-
This file is provided under a dual BSD/GPLv2 license. When using or
4-
redistributing this file, you may do so under either license.
5-
6-
GPL LICENSE SUMMARY
7-
8-
Copyright (c) 2017-2020 Intel Corporation. All rights reserved.
9-
10-
This program is free software; you can redistribute it and/or modify
11-
it under the terms of version 2 of the GNU General Public License as
12-
published by the Free Software Foundation.
13-
14-
This program is distributed in the hope that it will be useful, but
15-
WITHOUT ANY WARRANTY; without even the implied warranty of
16-
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17-
General Public License for more details.
18-
19-
You should have received a copy of the GNU General Public License
20-
along with this program; if not, write to the Free Software
21-
Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
22-
The full GNU General Public License is included in this distribution
23-
in the file called LICENSE.GPL.
24-
25-
Contact Information:
26-
http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/
27-
28-
BSD LICENSE
29-
30-
Copyright (c) 2017-2020 Intel Corporation. All rights reserved.
31-
All rights reserved.
32-
33-
Redistribution and use in source and binary forms, with or without
34-
modification, are permitted provided that the following conditions
35-
are met:
36-
37-
* Redistributions of source code must retain the above copyright
38-
notice, this list of conditions and the following disclaimer.
39-
* Redistributions in binary form must reproduce the above copyright
40-
notice, this list of conditions and the following disclaimer in
41-
the documentation and/or other materials provided with the
42-
distribution.
43-
* Neither the name of Intel Corporation nor the names of its
44-
contributors may be used to endorse or promote products derived
45-
from this software without specific prior written permission.
46-
47-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
48-
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
49-
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
50-
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
51-
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
52-
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
53-
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
54-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
55-
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
56-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
57-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
58-
</copyright>
2+
Copyright (C) 2017-2025 Intel Corporation
3+
4+
SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
595
@
606

617
;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

0 commit comments

Comments
 (0)