← Commit list

15cb4a427

Denis Vlasenko
Denis Vlasenko
2007-10-11
FAILED Duration: 13s

Subject

fix a problem with two different applet_name's

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

include/busybox.h+1 -1
@@ -56,7 +56,7 @@ extern const unsigned short NUM_APPLETS;
/* Length of these names has effect on size of libbusybox
* and "individual" binaries. Keep them short.
*/
-void lbb_prepare(char **argv) MAIN_EXTERNALLY_VISIBLE;
+void lbb_prepare(const char *applet, char **argv) MAIN_EXTERNALLY_VISIBLE;
#if ENABLE_BUILD_LIBBUSYBOX
#if ENABLE_FEATURE_SHARED_BUSYBOX
int lbb_main(int argc, char **argv) EXTERNALLY_VISIBLE;
libbb/appletlib.c+3 -2
@@ -127,11 +127,12 @@ const struct bb_applet *find_applet_by_name(const char *name)
int *const bb_errno __attribute__ ((section (".data")));
#endif
-void lbb_prepare(char **argv)
+void lbb_prepare(const char *applet, char **argv)
{
#ifdef __GLIBC__
(*(int **)&bb_errno) = __errno_location();
#endif
+ applet_name = applet;
/* Set locale for everybody except 'init' */
if (ENABLE_LOCALE_SUPPORT && getpid() != 1)
@@ -666,7 +667,7 @@ int lbb_main(int argc, char **argv)
int main(int argc, char **argv)
#endif
{
- lbb_prepare(argv);
+ lbb_prepare("busybox", argv);
#if !BB_MMU
/* NOMMU re-exec trick sets high-order bit in first byte of name */
scripts/trylink+2 -4
@@ -220,14 +220,12 @@ if test "$CONFIG_FEATURE_INDIVIDUAL" = y; then
while read name main junk; do
echo "\
-void lbb_prepare(char **argv);
+void lbb_prepare(const char *applet, char **argv);
int $main(int argc, char **argv);
-const char *applet_name = \"$name\";
-
int main(int argc, char **argv)
{
- lbb_prepare(argv);
+ lbb_prepare(\"$name\", argv);
return $main(argc, argv);
}
" >"$sharedlib_dir/applet.c"