diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-10-02 11:14:19 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-10-02 11:14:19 +0000 |
commit | ef6b619f73e49b6d87c7530e6e9f8a59723b492d (patch) | |
tree | 0e08f790272fafae3d2fc2e870747ddb2f7092e0 | |
parent | 676599b36a92f3c201c5682ee7a5caddd9f370a4 (diff) | |
download | glibc-ef6b619f73e49b6d87c7530e6e9f8a59723b492d.zip glibc-ef6b619f73e49b6d87c7530e6e9f8a59723b492d.tar.gz glibc-ef6b619f73e49b6d87c7530e6e9f8a59723b492d.tar.bz2 |
Fix i386 build after put*ent hardening changes.
The recent put*ent hardening changes broke the build for i386. i386
defines internal_function to __attribute__ ((regparm (3), stdcall)),
which affects type compatibility, so requiring internal_function to be
used consistently on declarations and definitions. This patch adds
internal_function to the definitions of the new functions using it on
their declarations.
Tested for i386 that this fixes the build.
* nss/rewrite_field.c (__nss_rewrite_field): Use
internal_function.
* nss/valid_field.c (__nss_valid_field): Likewise.
* nss/valid_list_field.c (__nss_valid_list_field): Likewise.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | nss/rewrite_field.c | 1 | ||||
-rw-r--r-- | nss/valid_field.c | 1 | ||||
-rw-r--r-- | nss/valid_list_field.c | 1 |
4 files changed, 10 insertions, 0 deletions
@@ -1,3 +1,10 @@ +2015-10-02 Joseph Myers <joseph@codesourcery.com> + + * nss/rewrite_field.c (__nss_rewrite_field): Use + internal_function. + * nss/valid_field.c (__nss_valid_field): Likewise. + * nss/valid_list_field.c (__nss_valid_list_field): Likewise. + 2015-10-02 Florian Weimer <fweimer@redhat.com> [BZ #18724] diff --git a/nss/rewrite_field.c b/nss/rewrite_field.c index fb9d274..2535457 100644 --- a/nss/rewrite_field.c +++ b/nss/rewrite_field.c @@ -24,6 +24,7 @@ overwritten with a pointer the caller has to free if the function returns successfully. On failure, return NULL. */ const char * +internal_function __nss_rewrite_field (const char *value, char **to_be_freed) { *to_be_freed = NULL; diff --git a/nss/valid_field.c b/nss/valid_field.c index 5fcddc5..061c121 100644 --- a/nss/valid_field.c +++ b/nss/valid_field.c @@ -24,6 +24,7 @@ const char __nss_invalid_field_characters[] = NSS_INVALID_FIELD_CHARACTERS; does not contain characters not permitted in NSS database fields. */ _Bool +internal_function __nss_valid_field (const char *value) { return value == NULL diff --git a/nss/valid_list_field.c b/nss/valid_list_field.c index 98ab93b..80ab12b 100644 --- a/nss/valid_list_field.c +++ b/nss/valid_list_field.c @@ -24,6 +24,7 @@ static const char invalid_characters[] = NSS_INVALID_FIELD_CHARACTERS ","; /* Check that all list members match the field syntax requirements and do not contain the character ','. */ _Bool +internal_function __nss_valid_list_field (char **list) { if (list == NULL) |