Age | Commit message (Collapse) | Author |
|
Note: _PATH_UTMPX == _PATH_UTMP and the utmp struct is identical to the
utmpx struct so this only changes the external API entrypoints and NOT
the underlying data source.
This saves about 500b (~1300b from previously ~1950) while at it.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
indent only, no code changes
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
This reverts commit 84135275cfeebc0b233c1c96eeada4d4178a0b18.
This change is said to make systemd deadlock (cannot reproduce this)
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Conflicts:
include/utmp.h
|
|
before the change (threads enabled)
text data bss dec hex filename
1107 8 408 1523 5f3 libc/misc/utmp/utent.os
152 0 0 152 98 libc/misc/utmp/wtent.os
240 0 0 240 f0 libc/misc/utmp/utxent.os
after the change
text data bss dec hex filename
1072 8 408 1488 5d0 libc/misc/utmp/utent.os
157 0 0 157 9d libc/misc/utmp/wtent.os
200 0 0 200 c8 libc/misc/utmp/utxent.os
The smaller size on utent.os is unexpected, could be due to better inlining/not inlining
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
__X() {...} and strong_alias(__X,X) keeps size the same as X() {...}
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
|
|
The pututline func calls getutid, so add a hidden def for
it to avoid plt relocs:
$ readelf -r lib/libc.so.0
...
Relocation section '.rela.plt' at offset 0xb058 contains 11 entries:
Offset Info Type Sym. Value Sym. Name + Addend
000000236000 01cf00000007 R_X86_64_JUMP_SLO 00000000000190ab getutid + 0
...
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
misc: Added support for accessing user accounting database based
on utmpx structure.
Signed-off-by: Salvatore Cro <salvatore.cro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Conflicts:
libc/misc/utmp/utent.c
libc/sysdeps/linux/i386/bits/syscalls.h
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
text data bss dec hex filename
547 8 384 939 3ab libc/misc/utmp/utent.o
519 8 384 911 38f libc/misc/utmp/utent.o
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
|
|
Drop the "#ifndef O_CLOEXEC" cruft, enable O_CLOEXEC in most fcntl.h
headers, and import __ASSUME_O_CLOEXEC from glibc.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
|
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
text data bss dec hex filename
- 370 0 0 370 172 libc/misc/dirent/opendir.o
+ 366 0 0 366 16e libc/misc/dirent/opendir.o
- 375 4 0 379 17b libc/pwd_grp/lckpwdf.o
+ 356 4 0 360 168 libc/pwd_grp/lckpwdf.o
- 248 0 0 248 f8 librt/shm.o
+ 209 0 0 209 d1 librt/shm.o
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
bug #1:
static_fd = -1;
close(static_fd);
DOH!
bug #2:
if (utmp_fd == -1) {
__setutent();
}
if (utmp_fd == -1) {
return NULL;
}
if utmp_fd == -1, we call _setutent().
if __setutent() opens a fd, utmp_fd (a parameter)
wouldn't change, the second check is bogus.
We need to use static_fd instead in second check.
Which makes clear that having utmp_fd parameter
is wrong. See the patch for a complete fix.
Shrink comes from simplifying fcntl(static_fd, F_SETFD, FD_CLOEXEC):
text data bss dec hex filename
- 661 8 384 1053 41d libc/misc/utmp/utent.o
+ 604 8 384 996 3e4 libc/misc/utmp/utent.o
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
|
Appears to build fine (several .configs tried)
|
|
|
|
|
|
|
|
in string.h and strings.h. This caught unguarded string ops in
libc/inet/ethers.c __ether_line_w() function.
I will wait for fallout reports for a week or so,
then continue converting more libc_hidden_proto's.
|
|
(patch by Bernd Schmidt <bernds_cb1 at t-online.de>)
|
|
|
|
things, and avoid potential deadlocks caused when a thread holding a uClibc
internal lock get canceled and terminates without releasing the lock. This
change also provides a single place, bits/uClibc_mutex.h, for thread libraries
to modify to change all instances of internal locking.
|
|
functions, then we worry about shrinking it ...
|
|
|
|
|
|
utent.c has a few problems with mutex locking when used in a binary that was linked with pthreads. The are a few deadlock conditions where functions may be called which lock the utmplock but never release it and where a function that hold the lock calls other functions which try to relock the same lock. For example, notice in the __getutent function the error condition does not unlock the semaphore. The problem is not visible when pthreads isn't used since the lock/unlock functions are NOOP functions.
|
|
|
|
missing headers, other jump relocs removed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
were including libc-lock.h which had a bunch of weak pragmas. Also,
uClibc supplied a number of no-op weak thread functions even though
many weren't needed. This combined result was that sometimes the
functional versions of thread functions in pthread would not override
the weaks in libc.
While fixing this, I also prepended double-underscore to all necessary
weak thread funcs in uClibc, and removed all unused weaks.
I did a test build, but haven't tested this since these changes are
a backport from my working tree. I did test the changes there and
no longer need to explicitly add -lpthread in the perl build for
perl to pass its thread self tests.
|
|
|
|
to mac12@po.cwru.edu for spotting this one.
|
|
uninitialized memory. Prepare to reentrantify the utmp
stuff.
-Erik
|
|
was only writing the first sizeof-a-pointer bytes to the utmp
file. oops.
-Erik
|
|
was only opening utmp readonly. Oops.
|
|
|
|
NULL as expected.
|
|
|
|
|