| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The --help text didn't mention that -m is an alias for --match.
Reported-by: Jiří Kalvoda <jirikalvoda@ucw.cz>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, a linker script is used to define versioned symbols
for the legacy linux syscalls with simple assignments.
That isn't mentioned in ld's documentation as a valid method to
set symbol versions, and while one might assume that it should work
and the linker script is accepted, the result often isn't correct:
gold and lld always create broken binaries, and even the bfd linker
can create unusable symbols if used with --gc-sections or LTO.
For example, the result can be a library where the function has been
discarded and the versioned symbol is unusable, i.e.,
23: 00000000 0 NOTYPE GLOBAL DEFAULT ABS getxattr@ATTR_1.0
instead of
23: 000033c0 0 FUNC GLOBAL DEFAULT 11 getxattr@ATTR_1.0
Meanwhile, lld doubles the version suffix: getxattr@ATTR_1.0@ATTR_1.0
Not that these issues may be viewed as linker bugs, and there may
or may not be some related improvements to linker script handling
since I tested this a few months ago (binutils-2.37, lld-14).
But in either case a more robust solution would be preferable.
So remove the linker script entirely and set symbol versions with
__attribute__((__symver__(...))) if available (i.e., in gcc >= 10,
but not in clang). Otherwise use the traditional global asm solution
with a .symver directive. These are the well documented methods (along
with version scripts, which don't apply here) to set symbol versions
and work correctly with all linkers, including older versions.
A workaround that is needed for gcc < 10 not to break LTO partitioning
with global asm is also included (__attribute__((__no_reorder__))),
but some very old versions may still need -flto-partition=none to build
correctly with LTO (not going to bother with completely obsolete versions).
Signed-off-by: Alexander Miller <alex.miller@gmx.de>
|
| |
|
|
|
|
|
|
|
|
| |
The groff sequence «\'» generates an acute accent, when the intention
here was to use apostrophe.
Warned-by: lintian
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
|
|
|
| |
Warned-by: lintian
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
|
|
| |
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
|
|
| |
This is read-only data, so don't include it in the read/write page.
|
|
|
|
| |
Signed-off-by: Temuri Doghonadze <temuri.doghonadze@gmail.com>
|
|
|
|
|
|
| |
On some platforms, libc does not provide gettext, and hence, more work
is necessary to get gettext to link. AM_GNU_GETTEXT covers for this
case and emits a $(LTLIBINTL) that we can use on those platforms.
|
|
|
|
|
|
| |
This version brings some improvements & fixes over 1.11, and was
released around the same time as autoconf-2.69 that we already
require.
|
|
|
|
| |
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
|
|
|
| |
The AC_CONFIG_HEADER macro was deprecated a while ago, and the new
one behaves the same but without triggering a warning.
|
|
|
|
|
|
|
|
|
| |
These are Linux specific syscalls. Other systems either already have
these function on their libc, or would need different implementations.
This restores the previous behavior before the build system
modernization.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
|
|
|
| |
Warned-by: lintian
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
|
|
|
|
|
| |
The code was not matching any intended attribute as it was checking for
the entire string.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
|
|
|
|
|
| |
When building the example code at least to make sure it actually builds,
we'll be left out with a dirty tree.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
|
|
|
| |
Otherwise gcc will fail to link the program due to missing
attr_copy_file() symbol.
|
|
|
|
|
|
|
|
|
| |
This project will not build if autconf2.13 is installed. Adding
AC_PREREQ allows the automatic checks to run the correct version of
autconf, whichever is installed, or to get a clear error message about
the problem.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
|
|
| |
Practically speaking, it should be the same.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The man page has been named xattr(7) since 2015, cf. the following
man-pages commit:
commit 43834827b827
Author: Michael Kerrisk <mtk.manpages@gmail.com>
Date: Wed Apr 22 14:29:42 2015 +0200
xattr.7: Rename from attr.7
Signed-off-by: Štěpán Němec <stepnem@gmail.com>
|
|
|
|
|
|
| |
... reported by clang:
libattr/attr_copy_action.c:158:22: warning[deadcode.DeadStores]: Value stored to 'action' during its initialization is never read
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
LT_REVISION was computed from PACKAGE_VERSION by stripping the dots from
PACKAGE_VERSION. This caused LT_REVISION to change from 2448 down to
250 when the version changed from 2.4.48 to 2.5.0. This broke ldconfig
versioning and caused the library symlinks to break after a package
update.
https://bugzilla.redhat.com/1938459#c9
Reported by: Kamil Dudka <kdudka@redhat.com>
|
| |
|
|
|
|
|
| |
Add a convenience rule for updating the po files to the main Makefile. Use
that for updating the po files. Update the German translation.
|
|
|
|
|
| |
Add a --one-filesystem option to getfattr. With this option, getfattr
will not cross mount points, similar to "tar --one-file-system".
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Indicate that afs metadata xattrs should be skipped when copying,
particularly ACLs as these aren't valid cross-cell.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The current man page for setfattr does not state that the user needs to
add the prefix "user." With the help of examples we demonstrate that the
user needs to add a namespace as prefix.
Signed-off-by: Achilles Gaikwad <agaikwad@redhat.com>
|
|
|
|
|
|
|
| |
The conversion to automake apparently left over an rmdir statement that
removed empty directories under $(DESTDIR)$(mandir). Fix that.
https://savannah.nongnu.org/bugs/?56763
|
|
|
|
|
|
|
| |
bzero is a deprecated function that is optionally unavailable with
uClibc-ng.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
If the value is a string with the terminating NUL included in the
length, then don't count that terminating NUL when determining whether
the string is printable. This is consistent with the fact that getfattr
doesn't print the terminating NUL character in --encoding=text (commit
7fed4441e12d).
Signed-off-by: Jeff Layton <jlayton@kernel.org>
|
|
|
|
|
|
| |
attr_list and attr_listf can crash when the listxattr, llistxattr, or
flistxattr syscalls incorrectly return an unterminated buffer. Guard
against that by always appending a null character.
|
|
|
|
|
|
| |
When attr_multi or attr_multif are called with an invalid am_opcode,
they fail with errno set to -EINVAL. Instead, the errno value should be
positive.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch back to syscall() for the *xattr system calls. The current
mechanism of forwarding those calls to glibc breaks libraries like
libfakeroot (fakeroot) and libasan (the gcc address sanitizer; gcc
-fsanitize=address).
Those libraries provide wrappers for functions defined in other shared
libraries, usually glibc, do their own processing, and forward calls to
the original symbols looke dup via dlsym(RTLD_NEXT, "symbol_name"). In
our case, dlsym returns the libattr_*xattr wrappers. However, when our
wrappers try calling glibc, they end up calling the libfakeroot /
libasan wrappers instead because those override the original symbols =>
recursion.
The libattr_*xattr wrappers will only be used when symbols are looked up
at runtime (dlopen / dlsym). Programs linking against libattr will
directly use the glibc provided symbols. Therefore, the slightly worse
performance of syscall() won't affect any of the "normal" users of
libattr.
|
|
|
|
|
| |
The header file is located at <attr/attributes.h>. Make the attr_list.3
man page consistent with the other man pages.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Invoke AC_SYS_LARGEFILE to enable large-file support.
This fix doesn't change the library as much as the tools because
the only affected function in libattr is attr_copy_action that calls
attr_parse_attr_conf that in turn calls fopen(ATTR_CONF, "r").
What is the most affected is getfattr, without the fix it just cannot
process large files, e.g.
$ truncate -s2G large-file && getfattr large-file
getfattr: large-file: Value too large for defined data type
|
|
|
|
| |
Point people to the Savannah project now.
|
|
|
|
| |
See STYLE GUIDE in man-pages(7) for more details.
|
|
|
|
|
|
| |
... to fix test-suite failure with perl-5.26.0
Bug: https://bugzilla.redhat.com/1473853
|
|
|
|
|
|
|
|
|
|
|
| |
When the -V option is used without -s, attr will cause a segmentation
fault instead of reporting an error:
$ touch somefile
$ attr -V whatever somefile
Segmentation fault (core dumped)
https://savannah.nongnu.org/bugs/?48244
|
|
|
|
| |
Contains no translation changes.
|
|
|
|
|
|
| |
In file tools/setfattr.c:33:0, gcc -Wcpp complains that including
<sys/errno.h> is incorrect and that <errno.h> should be included
instead. Reported by Matias A. Fonzo <selk@dragora.org>.
|
|
|
|
| |
This file doesn't use alloca(), so no point in including the header.
|