Changeset 070505f16f59b1ddbc6af670a04a3610253f50fc

Show
Ignore:
Timestamp:
02/22/10 14:32:20 (5 months ago)
Author:
Stephen Smalley <sds@tycho.nsa.gov>
Committer:
Stephen Smalley <sds@tycho.nsa.gov> 1266870740 -0500
Parent:

[0fc6c7762c2174a5fb3b978891b0adf8930aa184]

Message:

label_file.c:434: error: implicit declaration of function 'fstat'

On Mon, 2010-02-15 at 14:19 -0800, Justin Mattock wrote:

this is new:


make[2]: Leaving directory `/home/kernel/selinux/libselinux/include'
make -C src install
make[2]: Entering directory `/home/kernel/selinux/libselinux/src'
cc -Werror -Wall -W -Wundef -Wshadow -Wmissing-noreturn
-Wmissing-format-attribute -I../include -I/usr/include -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -c -o label_file.o label_file.c
cc1: warnings being treated as errors
label_file.c: In function 'init':
label_file.c:434: error: implicit declaration of function 'fstat'
label_file.c:436: error: implicit declaration of function 'S_ISREG'
make[2]: *** [label_file.o] Error 1
make[2]: Leaving directory `/home/kernel/selinux/libselinux/src'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/home/kernel/selinux/libselinux'
make: *** [install] Error 1

three areas where this could of been created
update glibc
updated kernel
update userspace(altohugh there was not vary many commits in the pull).

Newer glibc headers expose a failure to #include the required headers
for stat(2). Also exposes a conflict in redefining close() in that
file. Patch below should fix.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libselinux/src/label_file.c

    ra4af847 r070505f  
    1818#include <limits.h> 
    1919#include <regex.h> 
     20#include <sys/types.h> 
     21#include <sys/stat.h> 
     22#include <unistd.h> 
    2023#include "callbacks.h" 
    2124#include "label_internal.h" 
     
    546549 * Backend interface routines 
    547550 */ 
    548 static void close(struct selabel_handle *rec) 
     551static void closef(struct selabel_handle *rec) 
    549552{ 
    550553        struct saved_data *data = (struct saved_data *)rec->data; 
     
    667670 
    668671        rec->data = data; 
    669         rec->func_close = &close
     672        rec->func_close = &closef
    670673        rec->func_stats = &stats; 
    671674        rec->func_lookup = &lookup;