diff options
author | Duncaen <mail@duncano.de> | 2015-10-25 14:37:11 +0100 |
---|---|---|
committer | Duncaen <mail@duncano.de> | 2015-10-25 14:37:11 +0100 |
commit | d49889d24686fff901392b6dd1f9c6a5214e8464 (patch) | |
tree | 3e9e40cad8a5cf976c331e850e6c423f24e0d1ae /src/libtrace | |
parent | fix struct stat64 problem for musl libc (diff) | |
download | firejail-d49889d24686fff901392b6dd1f9c6a5214e8464.tar.gz firejail-d49889d24686fff901392b6dd1f9c6a5214e8464.tar.zst firejail-d49889d24686fff901392b6dd1f9c6a5214e8464.zip |
Revert "fix struct stat64 problem for musl libc"
This reverts commit 801164566924c41d18d66bdc9ca8b2305103fb82.
Diffstat (limited to 'src/libtrace')
-rw-r--r-- | src/libtrace/Makefile.in | 3 | ||||
-rw-r--r-- | src/libtrace/libtrace.c | 14 | ||||
-rw-r--r-- | src/libtrace/musl_defs.h | 52 |
3 files changed, 1 insertions, 68 deletions
diff --git a/src/libtrace/Makefile.in b/src/libtrace/Makefile.in index 8bc57cddf..3924bdf3f 100644 --- a/src/libtrace/Makefile.in +++ b/src/libtrace/Makefile.in | |||
@@ -2,13 +2,12 @@ PREFIX=@prefix@ | |||
2 | VERSION=@PACKAGE_VERSION@ | 2 | VERSION=@PACKAGE_VERSION@ |
3 | NAME=@PACKAGE_NAME@ | 3 | NAME=@PACKAGE_NAME@ |
4 | HAVE_FATAL_WARNINGS=@HAVE_FATAL_WARNINGS@ | 4 | HAVE_FATAL_WARNINGS=@HAVE_FATAL_WARNINGS@ |
5 | HAVE_MUSL_LIBC=@HAVE_MUSL_LIBC@ | ||
6 | 5 | ||
7 | H_FILE_LIST = $(wildcard *.[h]) | 6 | H_FILE_LIST = $(wildcard *.[h]) |
8 | C_FILE_LIST = $(wildcard *.c) | 7 | C_FILE_LIST = $(wildcard *.c) |
9 | OBJS = $(C_FILE_LIST:.c=.o) | 8 | OBJS = $(C_FILE_LIST:.c=.o) |
10 | BINOBJS = $(foreach file, $(OBJS), $file) | 9 | BINOBJS = $(foreach file, $(OBJS), $file) |
11 | CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' $(HAVE_MUSL_LIBC) -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security | 10 | CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC -Wformat -Wformat-security |
12 | LDFLAGS += -pie -Wl,-z,relro -Wl,-z,now | 11 | LDFLAGS += -pie -Wl,-z,relro -Wl,-z,now |
13 | 12 | ||
14 | all: libtrace.so | 13 | all: libtrace.so |
diff --git a/src/libtrace/libtrace.c b/src/libtrace/libtrace.c index 2ce74d331..1eb1cf931 100644 --- a/src/libtrace/libtrace.c +++ b/src/libtrace/libtrace.c | |||
@@ -18,11 +18,7 @@ | |||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
19 | */ | 19 | */ |
20 | #define _GNU_SOURCE | 20 | #define _GNU_SOURCE |
21 | #ifdef HAVE_MUSL_LIBC | ||
22 | #include "musl_defs.h" | ||
23 | #else | ||
24 | #include <stdio.h> | 21 | #include <stdio.h> |
25 | #endif | ||
26 | #include <stdlib.h> | 22 | #include <stdlib.h> |
27 | #include <string.h> | 23 | #include <string.h> |
28 | #include <dlfcn.h> | 24 | #include <dlfcn.h> |
@@ -32,9 +28,7 @@ | |||
32 | #include <netinet/in.h> | 28 | #include <netinet/in.h> |
33 | #include <arpa/inet.h> | 29 | #include <arpa/inet.h> |
34 | #include <sys/un.h> | 30 | #include <sys/un.h> |
35 | #ifndef HAVE_MUSL_LIBC | ||
36 | #include <sys/stat.h> | 31 | #include <sys/stat.h> |
37 | #endif | ||
38 | 32 | ||
39 | // break recursivity on fopen call | 33 | // break recursivity on fopen call |
40 | typedef FILE *(*orig_fopen_t)(const char *pathname, const char *mode); | 34 | typedef FILE *(*orig_fopen_t)(const char *pathname, const char *mode); |
@@ -420,17 +414,9 @@ int stat(const char *pathname, struct stat *buf) { | |||
420 | return rv; | 414 | return rv; |
421 | } | 415 | } |
422 | 416 | ||
423 | #ifdef HAVE_MUSL_LIBC | ||
424 | typedef int (*orig_stat64_t)(const char *pathname, struct stat *buf); | ||
425 | #else | ||
426 | typedef int (*orig_stat64_t)(const char *pathname, struct stat64 *buf); | 417 | typedef int (*orig_stat64_t)(const char *pathname, struct stat64 *buf); |
427 | #endif | ||
428 | static orig_stat64_t orig_stat64 = NULL; | 418 | static orig_stat64_t orig_stat64 = NULL; |
429 | #ifdef HAVE_MUSL_LIBC | ||
430 | int stat64(const char *pathname, struct stat *buf) { | ||
431 | #else | ||
432 | int stat64(const char *pathname, struct stat64 *buf) { | 419 | int stat64(const char *pathname, struct stat64 *buf) { |
433 | #endif | ||
434 | if (!orig_stat) | 420 | if (!orig_stat) |
435 | orig_stat64 = (orig_stat64_t)dlsym(RTLD_NEXT, "stat"); | 421 | orig_stat64 = (orig_stat64_t)dlsym(RTLD_NEXT, "stat"); |
436 | 422 | ||
diff --git a/src/libtrace/musl_defs.h b/src/libtrace/musl_defs.h deleted file mode 100644 index 02eb65b83..000000000 --- a/src/libtrace/musl_defs.h +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2014, 2015 Firejail Authors | ||
3 | * | ||
4 | * This file is part of firejail project | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #ifndef _MUSL_DEFS_H | ||
22 | #define _MUSL_DEFS_H | ||
23 | |||
24 | #include <features.h> | ||
25 | |||
26 | #define __NEED_FILE | ||
27 | #define __NEED_dev_t | ||
28 | #define __NEED_ino_t | ||
29 | #define __NEED_mode_t | ||
30 | #define __NEED_nlink_t | ||
31 | #define __NEED_uid_t | ||
32 | #define __NEED_gid_t | ||
33 | #define __NEED_off_t | ||
34 | #define __NEED_time_t | ||
35 | #define __NEED_blksize_t | ||
36 | #define __NEED_blkcnt_t | ||
37 | #define __NEED_struct_timespec | ||
38 | |||
39 | #include <bits/alltypes.h> | ||
40 | #include <bits/stat.h> | ||
41 | |||
42 | #ifdef __cplusplus | ||
43 | #define NULL 0L | ||
44 | #else | ||
45 | #define NULL ((void*)0) | ||
46 | #endif | ||
47 | |||
48 | int printf(const char *format, ...); | ||
49 | int sprintf(char *buffer, const char *format, ...); | ||
50 | char *fgets(char *buffer, int size, FILE *fp); | ||
51 | |||
52 | #endif | ||