Make fixups for libcrypt

This commit is contained in:
Justine Tunney 2024-02-23 07:39:44 -08:00
parent 9b4701b3bc
commit e72a88ea70
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
8 changed files with 30 additions and 16 deletions

View file

@ -10,12 +10,8 @@
#include "libc/sysv/consts/o.h"
#include "libc/sysv/consts/ok.h"
#include "libc/time/time.h"
#include "libc/unistd.h"
#include "third_party/getopt/long1.h"
#include "third_party/musl/crypt.h"
#include "third_party/musl/lockf.h"
#ifndef _CS_PATH
#define _CS_PATH 0
#endif
#endif /* _UNISTD_H */

View file

@ -20,6 +20,7 @@
#include "libc/stdio/stdio.h"
#include "libc/str/str.h"
#include "libc/sysv/errfuns.h"
#include "libc/unistd.h"
size_t confstr(int name, char *buf, size_t len) {
if (name == _CS_PATH) {

View file

@ -1,12 +1,11 @@
#ifndef COSMOPOLITAN_LIBC_STDIO_H_
#define COSMOPOLITAN_LIBC_STDIO_H_
#define EOF -1 /* end of file */
#define WEOF -1u /* end of file (multibyte) */
#define _IOFBF 0 /* fully buffered */
#define _IOLBF 1 /* line buffered */
#define _IONBF 2 /* no buffering */
#define _CS_PATH 0
#define EOF -1 /* end of file */
#define WEOF -1u /* end of file (multibyte) */
#define _IOFBF 0 /* fully buffered */
#define _IOLBF 1 /* line buffered */
#define _IONBF 2 /* no buffering */
#define L_tmpnam 20
#define L_ctermid 20

View file

@ -6,5 +6,10 @@ char *fcvt(double, int, int *, int *) libcesque;
char *ecvt(double, int, int *, int *) libcesque;
char *gcvt(double, int, char *) libcesque;
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || \
defined(_COSMO_SOURCE)
void setkey(const char *) libcesque;
#endif
COSMOPOLITAN_C_END_
#endif /* COSMOPOLITAN_LIBC_STDLIB_H_ */

14
libc/unistd.h Normal file
View file

@ -0,0 +1,14 @@
#ifndef COSMOPOLITAN_LIBC_UNISTD_H_
#define COSMOPOLITAN_LIBC_UNISTD_H_
COSMOPOLITAN_C_START_
#define _CS_PATH 0
#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || \
defined(_COSMO_SOURCE)
void encrypt(char *, int) libcesque;
char *crypt(const char *, const char *) libcesque;
#endif
COSMOPOLITAN_C_END_
#endif /* COSMOPOLITAN_LIBC_UNISTD_H_ */

View file

@ -7,10 +7,8 @@ struct crypt_data {
char __buf[256];
};
void encrypt(char *, int);
void setkey(const char *);
char *crypt(const char *, const char *);
char *crypt_r(const char *, const char *, struct crypt_data *);
char *crypt(const char *, const char *) libcesque;
char *crypt_r(const char *, const char *, struct crypt_data *) libcesque;
COSMOPOLITAN_C_END_
#endif /* COSMOPOLITAN_THIRD_PARTY_MUSL_CRYPT_H_ */

View file

@ -89,6 +89,7 @@
#include "third_party/python/Include/warnings.h"
#include "third_party/python/Include/yoink.h"
#include "third_party/python/Modules/_multiprocessing/multiprocessing.h"
#include "libc/unistd.h"
#include "third_party/python/pyconfig.h"
PYTHON_PROVIDE("posix");

View file

@ -130,7 +130,7 @@ for arch in $AMD64 $ARM64; do
cp -f o/$arch/libc/crt/crt.o "$OUTDIR/$arch-linux-cosmo/lib/"
cp -f o/$arch/cosmopolitan.a "$OUTDIR/$arch-linux-cosmo/lib/libcosmo.a"
cp -f o/$arch/third_party/libcxx/libcxx.a "$OUTDIR/$arch-linux-cosmo/lib/"
for lib in c dl gcc_s m pthread resolv rt dl unwind gomp stdc++; do
for lib in c dl gcc_s m crypt pthread resolv rt dl unwind gomp stdc++; do
printf '\041\074\141\162\143\150\076\012' >"$OUTDIR/$arch-linux-cosmo/lib/lib$lib.a"
done
mkdir -p "$OUTDIR/lib/gcc/"