Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 644048 | Differences between
and this patch

Collapse All | Expand All

(-)a/libattr/Makemodule.am (-4 / +1 lines)
Lines 8-14 LT_CURRENT = 2 Link Here
8
LT_AGE = 1
8
LT_AGE = 1
9
LTVERSION = $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
9
LTVERSION = $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
10
10
11
libattr_la_DEPENDENCIES = exports libattr/libattr.lds
11
libattr_la_DEPENDENCIES = exports
12
libattr_la_SOURCES = \
12
libattr_la_SOURCES = \
13
	libattr/attr_copy_action.c \
13
	libattr/attr_copy_action.c \
14
	libattr/attr_copy_check.c \
14
	libattr/attr_copy_check.c \
Lines 20-26 libattr_la_SOURCES = \ Link Here
20
libattr_la_CFLAGS = -include libattr/libattr.h
20
libattr_la_CFLAGS = -include libattr/libattr.h
21
libattr_la_LDFLAGS = \
21
libattr_la_LDFLAGS = \
22
	-Wl,--version-script,$(top_srcdir)/exports \
22
	-Wl,--version-script,$(top_srcdir)/exports \
23
	-Wl,$(top_srcdir)/libattr/libattr.lds \
24
	-version-info $(LTVERSION)
23
	-version-info $(LTVERSION)
25
26
EXTRA_DIST += libattr/libattr.lds
(-)a/libattr/libattr.lds (-12 lines)
Lines 1-12 Link Here
1
"fgetxattr@ATTR_1.0" = libattr_fgetxattr;
2
"flistxattr@ATTR_1.0" = libattr_flistxattr;
3
"fremovexattr@ATTR_1.0" = libattr_fremovexattr;
4
"fsetxattr@ATTR_1.0" = libattr_fsetxattr;
5
"getxattr@ATTR_1.0" = libattr_getxattr;
6
"lgetxattr@ATTR_1.0" = libattr_lgetxattr;
7
"listxattr@ATTR_1.0" = libattr_listxattr;
8
"llistxattr@ATTR_1.0" = libattr_llistxattr;
9
"lremovexattr@ATTR_1.0" = libattr_lremovexattr;
10
"lsetxattr@ATTR_1.0" = libattr_lsetxattr;
11
"removexattr@ATTR_1.0" = libattr_removexattr;
12
"setxattr@ATTR_1.0" = libattr_setxattr;
(-)a/libattr/syscalls.c (-19 / +42 lines)
Lines 30-100 Link Here
30
# pragma GCC visibility push(default)
30
# pragma GCC visibility push(default)
31
#endif
31
#endif
32
32
33
int libattr_setxattr(const char *path, const char *name,
33
__attribute__((no_reorder))
34
		     void *value, size_t size, int flags)
34
int setxattr(const char *path, const char *name,
35
	     const void *value, size_t size, int flags)
35
{
36
{
36
	return syscall(__NR_setxattr, path, name, value, size, flags);
37
	return syscall(__NR_setxattr, path, name, value, size, flags);
37
}
38
}
39
__asm__(".symver setxattr, setxattr@ATTR_1.0");
38
40
39
int libattr_lsetxattr(const char *path, const char *name,
41
__attribute__((no_reorder))
40
		      void *value, size_t size, int flags)
42
int lsetxattr(const char *path, const char *name,
43
	      const void *value, size_t size, int flags)
41
{
44
{
42
	return syscall(__NR_lsetxattr, path, name, value, size, flags);
45
	return syscall(__NR_lsetxattr, path, name, value, size, flags);
43
}
46
}
47
__asm__(".symver lsetxattr, lsetxattr@ATTR_1.0");
44
48
45
int libattr_fsetxattr(int filedes, const char *name,
49
__attribute__((no_reorder))
46
		      void *value, size_t size, int flags)
50
int fsetxattr(int filedes, const char *name,
51
	      const void *value, size_t size, int flags)
47
{
52
{
48
	return syscall(__NR_fsetxattr, filedes, name, value, size, flags);
53
	return syscall(__NR_fsetxattr, filedes, name, value, size, flags);
49
}
54
}
55
__asm__(".symver fsetxattr, fsetxattr@ATTR_1.0");
50
56
51
ssize_t libattr_getxattr(const char *path, const char *name,
57
__attribute__((no_reorder))
52
			 void *value, size_t size)
58
ssize_t getxattr(const char *path, const char *name,
59
		 void *value, size_t size)
53
{
60
{
54
	return syscall(__NR_getxattr, path, name, value, size);
61
	return syscall(__NR_getxattr, path, name, value, size);
55
}
62
}
63
__asm__(".symver getxattr, getxattr@ATTR_1.0");
56
64
57
ssize_t libattr_lgetxattr(const char *path, const char *name,
65
__attribute__((no_reorder))
58
			  void *value, size_t size)
66
ssize_t lgetxattr(const char *path, const char *name,
67
		  void *value, size_t size)
59
{
68
{
60
	return syscall(__NR_lgetxattr, path, name, value, size);
69
	return syscall(__NR_lgetxattr, path, name, value, size);
61
}
70
}
71
__asm__(".symver lgetxattr, lgetxattr@ATTR_1.0");
62
72
63
ssize_t libattr_fgetxattr(int filedes, const char *name,
73
__attribute__((no_reorder))
64
			  void *value, size_t size)
74
ssize_t fgetxattr(int filedes, const char *name,
75
		  void *value, size_t size)
65
{
76
{
66
	return syscall(__NR_fgetxattr, filedes, name, value, size);
77
	return syscall(__NR_fgetxattr, filedes, name, value, size);
67
}
78
}
79
__asm__(".symver fgetxattr, fgetxattr@ATTR_1.0");
68
80
69
ssize_t libattr_listxattr(const char *path, char *list, size_t size)
81
__attribute__((no_reorder))
82
ssize_t listxattr(const char *path, char *list, size_t size)
70
{
83
{
71
	return syscall(__NR_listxattr, path, list, size);
84
	return syscall(__NR_listxattr, path, list, size);
72
}
85
}
86
__asm__(".symver listxattr, listxattr@ATTR_1.0");
73
87
74
ssize_t libattr_llistxattr(const char *path, char *list, size_t size)
88
__attribute__((no_reorder))
89
ssize_t llistxattr(const char *path, char *list, size_t size)
75
{
90
{
76
	return syscall(__NR_llistxattr, path, list, size);
91
	return syscall(__NR_llistxattr, path, list, size);
77
}
92
}
93
__asm__(".symver llistxattr, llistxattr@ATTR_1.0");
78
94
79
ssize_t libattr_flistxattr(int filedes, char *list, size_t size)
95
__attribute__((no_reorder))
96
ssize_t flistxattr(int filedes, char *list, size_t size)
80
{
97
{
81
	return syscall(__NR_flistxattr, filedes, list, size);
98
	return syscall(__NR_flistxattr, filedes, list, size);
82
}
99
}
100
__asm__(".symver flistxattr, flistxattr@ATTR_1.0");
83
101
84
int libattr_removexattr(const char *path, const char *name)
102
__attribute__((no_reorder))
103
int removexattr(const char *path, const char *name)
85
{
104
{
86
	return syscall(__NR_removexattr, path, name);
105
	return syscall(__NR_removexattr, path, name);
87
}
106
}
107
__asm__(".symver removexattr, removexattr@ATTR_1.0");
88
108
89
int libattr_lremovexattr(const char *path, const char *name)
109
__attribute__((no_reorder))
110
int lremovexattr(const char *path, const char *name)
90
{
111
{
91
	return syscall(__NR_lremovexattr, path, name);
112
	return syscall(__NR_lremovexattr, path, name);
92
}
113
}
114
__asm__(".symver lremovexattr, lremovexattr@ATTR_1.0");
93
115
94
int libattr_fremovexattr(int filedes, const char *name)
116
__attribute__((no_reorder))
117
int fremovexattr(int filedes, const char *name)
95
{
118
{
96
	return syscall(__NR_fremovexattr, filedes, name);
119
	return syscall(__NR_fremovexattr, filedes, name);
97
}
120
}
121
__asm__(".symver fremovexattr, fremovexattr@ATTR_1.0");
98
122
99
#ifdef HAVE_VISIBILITY_ATTRIBUTE
123
#ifdef HAVE_VISIBILITY_ATTRIBUTE
100
# pragma GCC visibility pop
124
# pragma GCC visibility pop
101
- 

Return to bug 644048