Add .note.GNU-stack to all object files so that the generated binary doesn't erroneously request an executable stack.

git-svn-id: https://shellinabox.googlecode.com/svn/trunk@200 0da03de8-d603-11dd-86c2-0f8696b7b6f9
This commit is contained in:
zodiac@gmail.com 2009-12-10 18:44:28 +00:00
parent 0fcf50735e
commit ef5177349e
9 changed files with 60 additions and 12 deletions

View file

@ -1,3 +1,8 @@
2009-12-10 Markus Gutschke <markus@shellinabox.com>
* Add .note.GNU-stack to all object files so that the generated
binary doesn't erroneously request an executable stack.
2009-12-03 Markus Gutschke <markus@shellinabox.com>
* Allow retrieval of the user's default login shell from

View file

@ -231,26 +231,42 @@ clean-local:
debian/shellinabox*.debhelper* \
debian/shellinabox.substvars \
debian/tmp
-rm -rf GNU-stack
.css.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
.gif.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
.html.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
.ico.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
shellinabox/shell_in_a_box.o: shellinabox/shell_in_a_box.js config.h
@ -267,9 +283,17 @@ shellinabox/shell_in_a_box.o: shellinabox/shell_in_a_box.js config.h
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
.wav.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack

View file

@ -1244,26 +1244,39 @@ clean-local:
debian/shellinabox*.debhelper* \
debian/shellinabox.substvars \
debian/tmp
-rm -rf GNU-stack
.css.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
.gif.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
.html.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
.ico.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
shellinabox/shell_in_a_box.o: shellinabox/shell_in_a_box.js config.h
@ -1280,11 +1293,17 @@ shellinabox/shell_in_a_box.o: shellinabox/shell_in_a_box.js config.h
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
.wav.o:
@echo objcopy "$<" "$@"
@objcopy -I binary `$(objcopyflags)` `echo "$<" | $(renamesymbols)` \
"$<" "$@"
@-printf '\000' >GNU-stack && \
objcopy --add-section .note.GNU-stack=GNU-stack "$@"; \
rm -f GNU-stack
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

View file

@ -141,7 +141,7 @@
#define STDC_HEADERS 1
/* Most recent revision number in the version control system */
#define VCS_REVISION "198"
#define VCS_REVISION "200"
/* Version number of package */
#define VERSION "2.10"

2
configure vendored
View file

@ -2325,7 +2325,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
VCS_REVISION=198
VCS_REVISION=200
cat >>confdefs.h <<_ACEOF

View file

@ -2,7 +2,7 @@ AC_PREREQ(2.57)
dnl This is the one location where the authoritative version number is stored
AC_INIT(shellinabox, 2.10, markus@shellinabox.com)
VCS_REVISION=198
VCS_REVISION=200
AC_SUBST(VCS_REVISION)
AC_DEFINE_UNQUOTED(VCS_REVISION, "${VCS_REVISION}",
[Most recent revision number in the version control system])

View file

@ -1955,7 +1955,7 @@ VT100.prototype.toggleBell = function() {
};
VT100.prototype.about = function() {
alert("VT100 Terminal Emulator " + "2.10 (revision 198)" +
alert("VT100 Terminal Emulator " + "2.10 (revision 200)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com");
};

View file

@ -358,7 +358,7 @@ ShellInABox.prototype.extendContextMenu = function(entries, actions) {
};
ShellInABox.prototype.about = function() {
alert("Shell In A Box version " + "2.10 (revision 198)" +
alert("Shell In A Box version " + "2.10 (revision 200)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com" +
(typeof serverSupportsSSL != 'undefined' && serverSupportsSSL ?

View file

@ -1955,7 +1955,7 @@ VT100.prototype.toggleBell = function() {
};
VT100.prototype.about = function() {
alert("VT100 Terminal Emulator " + "2.10 (revision 198)" +
alert("VT100 Terminal Emulator " + "2.10 (revision 200)" +
"\nCopyright 2008-2009 by Markus Gutschke\n" +
"For more information check http://shellinabox.com");
};