diff options
author | 2011-10-20 15:03:08 -0400 | |
---|---|---|
committer | 2011-10-20 15:03:08 -0400 | |
commit | bcf0f80a9365e40b31109ca01462d5a2a3a5eae7 (patch) | |
tree | 856fb12bcf7bb9bc0398424ae7281f2da8b7109c | |
parent | src/paxctl-ng.c: clean up error handling (diff) | |
download | elfix-bcf0f80a9365e40b31109ca01462d5a2a3a5eae7.tar.gz elfix-bcf0f80a9365e40b31109ca01462d5a2a3a5eae7.tar.bz2 elfix-bcf0f80a9365e40b31109ca01462d5a2a3a5eae7.zip |
Update build system
-rw-r--r-- | configure.ac | 22 | ||||
-rwxr-xr-x | scripts/setup.py | 2 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/paxctl-ng.c | 4 |
4 files changed, 11 insertions, 19 deletions
diff --git a/configure.ac b/configure.ac index fa669ec..592d346 100644 --- a/configure.ac +++ b/configure.ac @@ -27,28 +27,24 @@ AM_CONDITIONAL([TEST],[test "x$has_yasm" = "xyes"]) # Checks for programs. AC_PROG_CC -AC_CHECK_FUNCS([strerror]) +AC_CHECK_FUNCS([memset strerror]) AC_FUNC_MMAP # Checks for libraries. AC_CHECK_LIB([elf], [elf_begin]) +AC_CHECK_LIB([attr], [fgetxattr]) # Checks for header files. -AC_CHECK_HEADERS([errno.h]) -AC_CHECK_HEADERS([error.h]) -AC_CHECK_HEADERS([fcntl.h]) -AC_CHECK_HEADERS([gelf.h]) -AC_CHECK_HEADERS([libgen.h]) -AC_CHECK_HEADERS([stdio.h]) -AC_CHECK_HEADERS([stdlib.h]) -AC_CHECK_HEADERS([string.h]) -AC_CHECK_HEADERS([sys/mman.h]) -AC_CHECK_HEADERS([sys/stat.h]) -AC_CHECK_HEADERS([sys/types.h]) -AC_CHECK_HEADERS([unistd.h]) + +AC_CHECK_HEADERS([attr/xattr.h errno.h error.h fcntl.h gelf.h libgen.h stdio.h \ + stdlib.h string.h sys/mman.h sys/stat.h sys/types.h unistd.h +], +[], [AC_MSG_ERROR(["Missing necessary header"])]) # Checks for typedefs, structures, and compiler characteristics. AC_TYPE_SIZE_T +AC_TYPE_UINT8_T +AC_TYPE_UINT16_T # Checks for library functions. AC_FUNC_ERROR_AT_LINE diff --git a/scripts/setup.py b/scripts/setup.py index 77854f1..3170930 100755 --- a/scripts/setup.py +++ b/scripts/setup.py @@ -5,7 +5,7 @@ from distutils.core import setup, Extension module1 = Extension( name='pax', sources = ['paxmodule.c'], - libraries = ['elf'], + libraries = ['elf', 'attr'], ) setup( diff --git a/src/Makefile.am b/src/Makefile.am index cc46fe2..de2d157 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,5 +1,3 @@ sbin_PROGRAMS = fix-gnustack paxctl-ng fix_gnustack_SOURCES = fix-gnustack.c -fix_gnustack_LDADD = -lelf paxctl_ng_SOURCES = paxctl-ng.c -paxctl_ng_LDADD = -lelf diff --git a/src/paxctl-ng.c b/src/paxctl-ng.c index 8d9bf55..dccd8ac 100644 --- a/src/paxctl-ng.c +++ b/src/paxctl-ng.c @@ -205,10 +205,8 @@ get_xt_flags(int fd) { if(errno == ERANGE ) printf("XT_PAX: corrupted\n"); - if( errno == ENOATTR) printf("XT_PAX: not present\n"); - if(errno == ENOTSUP) printf("XT_PAX: not supported\n"); } @@ -390,7 +388,7 @@ set_pt_flags(int fd, uint16_t pt_flags) if((elf = elf_begin(fd, ELF_C_RDWR_MMAP, NULL)) == NULL) error(EXIT_FAILURE, 0, "elf_begin() fail: %s", elf_errmsg(elf_errno())); - } + if(elf_kind(elf) != ELF_K_ELF) { elf_end(elf); |