+2011-05-25 Ryan S. Arnold <rsa@us.ibm.com>
+
+ * sysdeps/unix/sysv/linux/powerpc/dl-librecon.h
+ (EXTRA_LD_ENVVARS_11): Fix condition where there's an extra slash in
+ the search path, i.e., "//" when LD_AT_PLATFORM= or
+ LD_AT_PLATFORM="".
+ (EXTRA_UNSECURE_ENVVARS): Add LD_AT_PLATFORM to the list.
+
2011-02-11 Jakub Jelinek <jakub@redhat.com>
* stdio-common/printf-parsemb.c (__parse_one_specmb): Handle
/* Optional code to distinguish library flavours.
- Copyright (C) 2010 Free Software Foundation, Inc.
+ Copyright (C) 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Peter Bergner <bergner@linux.vnet.ibm.com>
#ifndef _DL_LIBRECON_H
+#include <string.h>
#include <sysdeps/unix/sysv/linux/dl-librecon.h>
/* Recognizing extra environment variables. */
#define EXTRA_LD_ENVVARS_11 \
if (memcmp (envline, "AT_PLATFORM", 11) == 0) \
{ \
- GLRO(dl_platform) = &envline[12]; \
- /* Determine the length of the platform name. */ \
- if (GLRO(dl_platform) != NULL) \
- GLRO(dl_platformlen) = strlen (GLRO(dl_platform)); \
+ int platformlen = strlen (&envline[12]); \
+ GLRO(dl_platformlen) = platformlen; \
+ if (platformlen > 0) \
+ { \
+ GLRO(dl_platform) = &envline[12]; \
+ break; \
+ } \
+ GLRO(dl_platform) = NULL; \
break; \
}
+/* Extra unsecure variables. The names are all stuffed in a single
+ string which means they have to be terminated with a '\0' explicitly. */
+#define EXTRA_UNSECURE_ENVVARS \
+ "LD_AT_PLATFORM\0"
+
#endif /* dl-librecon.h */