svn commit: r203213 - in projects/capabilities8/lib/csu: amd64 common i386-elf

Robert Watson rwatson at FreeBSD.org
Sat Jan 30 18:43:54 UTC 2010


Author: rwatson
Date: Sat Jan 30 18:43:54 2010
New Revision: 203213
URL: http://svn.freebsd.org/changeset/base/203213

Log:
  Merge c170405 from the p4 TrustedBSD Capabilities branch to capabilities8:
  
    Removed the multiple definitions which snuck in here
  
  Submitted by:	Jonathan Anderson <jonathan.anderson at cl.cam.ac.uk>

Modified:
  projects/capabilities8/lib/csu/amd64/crt1.c
  projects/capabilities8/lib/csu/common/crtbrand.c
  projects/capabilities8/lib/csu/i386-elf/crt1_c.c

Modified: projects/capabilities8/lib/csu/amd64/crt1.c
==============================================================================
--- projects/capabilities8/lib/csu/amd64/crt1.c	Sat Jan 30 18:35:55 2010	(r203212)
+++ projects/capabilities8/lib/csu/amd64/crt1.c	Sat Jan 30 18:43:54 2010	(r203213)
@@ -134,42 +134,4 @@ _capstart(char **ap, void (*cleanup)(voi
 	exit( cap_main(argc, argv, env) );
 }
 
-
-/* The Capsicum entry function. */
-void
-_capstart(char **ap, void (*cleanup)(void))
-{
-	int argc;
-	char **argv;
-	char **env;
-	const char *s;
-
-	argc = *(long *)(void *)ap;
-	argv = ap + 1;
-	env = ap + 2 + argc;
-	environ = env;
-	if (argc > 0 && argv[0] != NULL) {
-		__progname = argv[0];
-		for (s = __progname; *s != '\0'; s++)
-			if (*s == '/')
-				__progname = s + 1;
-	}
-
-	if (&_DYNAMIC != NULL)
-		atexit(cleanup);
-	else
-		_init_tls();
-
-#ifdef GCRT
-	atexit(_mcleanup);
-#endif
-	atexit(_fini);
-#ifdef GCRT
-/*	monstartup(&eprol, &etext);
-__asm__("eprol:");*/        /* XXX: does this interfere with profiling? */
-#endif
-	_init();
-	exit( cap_main(argc, argv, env) );
-}
-
 __asm__(".ident\t\"$FreeBSD$\"");

Modified: projects/capabilities8/lib/csu/common/crtbrand.c
==============================================================================
--- projects/capabilities8/lib/csu/common/crtbrand.c	Sat Jan 30 18:35:55 2010	(r203212)
+++ projects/capabilities8/lib/csu/common/crtbrand.c	Sat Jan 30 18:43:54 2010	(r203213)
@@ -62,17 +62,3 @@ int cap_main(int argc, char **argv, char
 	write(2, warning, sizeof(warning));
 }
 
-
-int cap_main(int argc, char **argv, char **env)
-{
-	const char warning[] =
-		"ERROR: attempting to run a regular binary in capability mode."
-		"\n\n"
-		"If you wish to run a binary in a sandbox, you must provide a "
-		"cap_main() function which takes the same arguments as main()."
-		"\n";
-
-	write(2, warning, sizeof(warning));
-	return 1;
-}
-

Modified: projects/capabilities8/lib/csu/i386-elf/crt1_c.c
==============================================================================
--- projects/capabilities8/lib/csu/i386-elf/crt1_c.c	Sat Jan 30 18:35:55 2010	(r203212)
+++ projects/capabilities8/lib/csu/i386-elf/crt1_c.c	Sat Jan 30 18:43:54 2010	(r203213)
@@ -137,49 +137,4 @@ __asm__("eprol:");
 	exit( cap_main(argc, argv, env) );
 }
 
-
-
-
-/* The Capsicum entry function. */
-void
-_capstart(char *ap, ...)
-{
-	fptr cleanup;
-	int argc;
-	char **argv;
-	char **env;
-	const char *s;
-
-#ifdef __GNUC__
-	__asm__("and $0xfffffff0,%esp");
-#endif
-	cleanup = get_rtld_cleanup();
-	argv = &ap;
-	argc = *(long *)(void *)(argv - 1);
-	env = argv + argc + 1;
-	environ = env;
-	if (argc > 0 && argv[0] != NULL) {
-		__progname = argv[0];
-		for (s = __progname; *s != '\0'; s++)
-			if (*s == '/')
-				__progname = s + 1;
-	}
-
-	if (&_DYNAMIC != NULL)
-		atexit(cleanup);
-	else
-		_init_tls();
-
-#ifdef GCRT
-	atexit(_mcleanup);
-#endif
-	atexit(_fini);
-#ifdef GCRT
-/*	monstartup(&eprol, &etext);
-__asm__("eprol:");*/        /* XXX: does this interfere with profiling? */
-#endif
-	_init();
-	exit( cap_main(argc, argv, env) );
-}
-
 __asm(".hidden	_start1");


More information about the svn-src-projects mailing list