summaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-02-18 15:49:44 +0000
committerJakub Jelinek <jakub@redhat.com>2009-02-18 15:49:44 +0000
commitcf22c5c9b3a4a6cc81a269d49d2324b5df084d74 (patch)
treeca7e374c348baf4e6510329f3f271eca4eb5419f /elf
parent73c5dd45bc405428148ee740cac61a1279fe57d4 (diff)
Updated to fedora-glibc-20090218T1534
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-load.c4
-rw-r--r--elf/ldconfig.c22
-rw-r--r--elf/ldd.bash.in6
-rw-r--r--elf/sln.c52
-rw-r--r--elf/sprof.c28
5 files changed, 94 insertions, 18 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index 8a8936f7bd..c77c259156 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -1,5 +1,5 @@
/* Map in a shared object's segments from the file.
- Copyright (C) 1995-2005, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1995-2005, 2006, 2007, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -1574,6 +1574,8 @@ open_verify (const char *name, struct filebuf *fbp, struct link_map *loader,
# define VALID_ELF_HEADER(hdr,exp,size) (memcmp (hdr, exp, size) == 0)
# define VALID_ELF_OSABI(osabi) (osabi == ELFOSABI_SYSV)
# define VALID_ELF_ABIVERSION(ver) (ver == 0)
+#elif defined MORE_ELF_HEADER_DATA
+ MORE_ELF_HEADER_DATA;
#endif
static const unsigned char expected[EI_PAD] =
{
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index dd213669f3..4886645dfa 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -132,6 +132,9 @@ static void print_version (FILE *stream, struct argp_state *state);
void (*argp_program_version_hook) (FILE *, struct argp_state *)
= print_version;
+/* Function to print some extra text in the help message. */
+static char *more_help (int key, const char *text, void *input);
+
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
{
@@ -161,7 +164,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state);
/* Data structure to communicate with argp functions. */
static struct argp argp =
{
- options, parse_opt, NULL, doc, NULL, NULL, NULL
+ options, parse_opt, NULL, doc, NULL, more_help, NULL
};
/* Check if string corresponds to an important hardware capability or
@@ -288,6 +291,23 @@ parse_opt (int key, char *arg, struct argp_state *state)
return 0;
}
+/* Print bug-reporting information in the help message. */
+static char *
+more_help (int key, const char *text, void *input)
+{
+ switch (key)
+ {
+ case ARGP_KEY_HELP_EXTRA:
+ /* We print some extra information. */
+ return strdup (gettext ("\
+For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+ default:
+ break;
+ }
+ return (char *) text;
+}
+
/* Print the version information. */
static void
print_version (FILE *stream, struct argp_state *state)
diff --git a/elf/ldd.bash.in b/elf/ldd.bash.in
index ffd125dadf..1bbefe2ff0 100644
--- a/elf/ldd.bash.in
+++ b/elf/ldd.bash.in
@@ -52,8 +52,10 @@ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-r, --function-relocs process data and function relocations
-u, --unused print unused direct dependencies
-v, --verbose print all information
-For bug reporting instructions, please see:
-<http://www.gnu.org/software/libc/bugs.html>."
+"
+ echo $"For bug reporting instructions, please see:
+<http://www.gnu.org/software/libc/bugs.html>.
+"
exit 0
;;
-d | --d | --da | --dat | --data | --data- | --data-r | --data-re | \
diff --git a/elf/sln.c b/elf/sln.c
index 8e66510bb2..a8210c1fc0 100644
--- a/elf/sln.c
+++ b/elf/sln.c
@@ -1,5 +1,5 @@
/* `sln' program to create symbolic links between files.
- Copyright (C) 1998, 1999, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2009 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -16,9 +16,15 @@
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <error.h>
#include <errno.h>
+#include <libintl.h>
+#include <locale.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
@@ -28,19 +34,37 @@
#include <string.h>
#include <limits.h>
+#include "../version.h"
+
+#define PACKAGE _libc_intl_domainname
+
#if !defined S_ISDIR && defined S_IFDIR
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#endif
static int makesymlink (const char *src, const char *dest);
static int makesymlinks (const char *file);
+static void usage (void);
int
main (int argc, char **argv)
{
+ /* Set locale via LC_ALL. */
+ setlocale (LC_ALL, "");
+
+ /* Set the text message domain. */
+ textdomain (PACKAGE);
+
switch (argc)
{
case 2:
+ if (strcmp (argv[1], "--version") == 0) {
+ printf ("sln (GNU libc) %s\n", VERSION);
+ return 0;
+ } else if (strcmp (argv[1], "--help") == 0) {
+ usage ();
+ return 0;
+ }
return makesymlinks (argv [1]);
break;
@@ -49,12 +73,20 @@ main (int argc, char **argv)
break;
default:
- printf ("Usage: %s src dest|file\n", argv [0]);
+ usage ();
return 1;
break;
}
}
+static void
+usage (void)
+{
+ printf (_("Usage: sln src dest|file\n\n"));
+ printf (_("For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+}
+
static int
makesymlinks (file)
const char *file;
@@ -75,7 +107,7 @@ makesymlinks (file)
fp = fopen (file, "r");
if (fp == NULL)
{
- fprintf (stderr, "%s: file open error: %m\n", file);
+ fprintf (stderr, _("%s: file open error: %m\n"), file);
return 1;
}
}
@@ -112,7 +144,7 @@ makesymlinks (file)
++cp;
if (*cp == '\0')
{
- fprintf (stderr, "No target in line %d\n", lineno);
+ fprintf (stderr, _("No target in line %d\n"), lineno);
ret = 1;
continue;
}
@@ -144,13 +176,13 @@ makesymlink (src, dest)
{
if (S_ISDIR (stats.st_mode))
{
- fprintf (stderr, "%s: destination must not be a directory\n",
+ fprintf (stderr, _("%s: destination must not be a directory\n"),
dest);
return 1;
}
else if (unlink (dest) && errno != ENOENT)
{
- fprintf (stderr, "%s: failed to remove the old destination\n",
+ fprintf (stderr, _("%s: failed to remove the old destination\n"),
dest);
return 1;
}
@@ -158,7 +190,7 @@ makesymlink (src, dest)
else if (errno != ENOENT)
{
error = strerror (errno);
- fprintf (stderr, "%s: invalid destination: %s\n", dest, error);
+ fprintf (stderr, _("%s: invalid destination: %s\n"), dest, error);
return -1;
}
@@ -173,7 +205,7 @@ makesymlink (src, dest)
{
error = strerror (errno);
unlink (dest);
- fprintf (stderr, "Invalid link from \"%s\" to \"%s\": %s\n",
+ fprintf (stderr, _("Invalid link from \"%s\" to \"%s\": %s\n"),
src, dest, error);
return 1;
}
@@ -182,7 +214,7 @@ makesymlink (src, dest)
else
{
error = strerror (errno);
- fprintf (stderr, "Invalid link from \"%s\" to \"%s\": %s\n",
+ fprintf (stderr, _("Invalid link from \"%s\" to \"%s\": %s\n"),
src, dest, error);
return 1;
}
diff --git a/elf/sprof.c b/elf/sprof.c
index 4244e05c38..ad723f3416 100644
--- a/elf/sprof.c
+++ b/elf/sprof.c
@@ -86,9 +86,9 @@ static const struct argp_option options[] =
};
/* Short description of program. */
-static const char doc[] = N_("Read and display shared object profiling data.\v\
-For bug reporting instructions, please see:\n\
-<http://www.gnu.org/software/libc/bugs.html>.\n");
+static const char doc[] = N_("Read and display shared object profiling data.");
+//For bug reporting instructions, please see:\n \
+//<http://www.gnu.org/software/libc/bugs.html>.\n");
/* Strings for arguments in help texts. */
static const char args_doc[] = N_("SHOBJ [PROFDATA]");
@@ -96,10 +96,13 @@ static const char args_doc[] = N_("SHOBJ [PROFDATA]");
/* Prototype for option handler. */
static error_t parse_opt (int key, char *arg, struct argp_state *state);
+/* Function to print some extra text in the help message. */
+static char *more_help (int key, const char *text, void *input);
+
/* Data structure to communicate with argp functions. */
static struct argp argp =
{
- options, parse_opt, args_doc, doc
+ options, parse_opt, args_doc, doc, NULL, more_help
};
@@ -347,6 +350,23 @@ parse_opt (int key, char *arg, struct argp_state *state)
}
+static char *
+more_help (int key, const char *text, void *input)
+{
+ switch (key)
+ {
+ case ARGP_KEY_HELP_EXTRA:
+ /* We print some extra information. */
+ return strdup (gettext ("\
+For bug reporting instructions, please see:\n\
+<http://www.gnu.org/software/libc/bugs.html>.\n"));
+ default:
+ break;
+ }
+ return (char *) text;
+}
+
+
/* Print the version information. */
static void
print_version (FILE *stream, struct argp_state *state)