More OSX-PPC fixes

This commit is contained in:
pancake 2016-04-27 01:52:35 +02:00
parent 032969927d
commit aae417badf
13 changed files with 50 additions and 26 deletions

View File

@ -204,9 +204,9 @@ libname=-shared -o $1.${EXT_SO}
else
ifeq (${OSTYPE},darwin)
ifeq (${HAVE_LIBVERSION},1)
libname=-shared -o $1.${EXT_SO} ${LDFLAGS_SONAME}$1.${LIBVERSION}.${EXT_SO}
libname=-dynamiclib -o $1.${EXT_SO} ${LDFLAGS_SONAME}$1.${LIBVERSION}.${EXT_SO}
else
libname=-shared -o $1.${EXT_SO}
libname=-dynamiclib -o $1.${EXT_SO}
endif
else
ifeq (${HAVE_LIBVERSION},1)

View File

@ -1,8 +1,6 @@
include ../../config.mk
include ../../../mk/platform.mk
# XXX
CFLAGS+=-I../../include -I../arch/ -I../arch/include -Wall -shared ${PIC_CFLAGS} ${LDFLAGS_LIB} ${LDFLAGS_LINKPATH}..
LDFLAGS+=${LINK}
caca:

View File

@ -55,7 +55,7 @@ static int update (RCrypto *cry, const ut8 *buf, int len) {
memcpy (ibuf, buf, len);
// Padding should start like 100000...
if (diff) {
ibuf[len] = 0b1000;
ibuf[len] = 8; //0b1000;
}
// printf("*** State:\n

View File

@ -60,7 +60,7 @@ static int update(RCrypto *cry, const ut8 *buf, int len) {
memcpy (ibuf, buf, len);
if (diff) {
ibuf[len] = 0b1000;
ibuf[len] = 8; // 0b1000;
}
int i, j;

View File

@ -33,7 +33,9 @@ static void my_io_redirect (RIO *io, const char *ref, const char *file) {
#endif
#if __APPLE__
#if !__POWERPC__
#include <spawn.h>
#endif
#include <sys/types.h>
#include <sys/wait.h>
#include <mach/exception_types.h>
@ -197,7 +199,7 @@ static void trace_me () {
static int fork_and_ptraceme(RIO *io, int bits, const char *cmd) {
bool runprofile = io->runprofile && *(io->runprofile);
char **argv;
#if __APPLE__
#if __APPLE__ && !__POWERPC__
if (!runprofile) {
#define _POSIX_SPAWN_DISABLE_ASLR 0x0100
posix_spawn_file_actions_t fileActions;

View File

@ -8,7 +8,7 @@ CFLAGS+=-DHAVE_CONFIG_H
ifeq (${USE_LIB_MAGIC},1)
LDFLAGS+=-lmagic
endif
OBJS=apprentice.o ascmagic.o fsmagic.o funcs.o is_tar.o magic.o print.o softmagic.o
OBJS=apprentice.o ascmagic.o fsmagic.o funcs.o is_tar.o magic.o softmagic.o
include $(LTOP)/rules.mk

View File

@ -58,10 +58,10 @@ struct r_magic_entry {
ut32 max_count;
};
int file_formats[FILE_NAMES_SIZE];
const size_t file_nformats = FILE_NAMES_SIZE;
const char *file_names[FILE_NAMES_SIZE];
const size_t file_nnames = FILE_NAMES_SIZE;
static int magic_file_formats[FILE_NAMES_SIZE];
static const size_t file_nformats = FILE_NAMES_SIZE;
static const char *magic_file_names[FILE_NAMES_SIZE];
static const size_t file_nnames = FILE_NAMES_SIZE;
static int getvalue(RMagic *ms, struct r_magic *, const char **, int);
static int hextoint(int);
@ -162,8 +162,8 @@ static void init_file_tables(void) {
done++;
for (p = type_tbl; p->len; p++) {
assert(p->type < FILE_NAMES_SIZE);
file_names[p->type] = p->name;
file_formats[p->type] = p->format;
magic_file_names[p->type] = p->name;
magic_file_formats[p->type] = p->format;
}
}
@ -1336,14 +1336,14 @@ static int check_format(RMagic *ms, struct r_magic *m) {
"m->type and format strings");
return -1;
}
if (file_formats[m->type] == FILE_FMT_NONE) {
if (magic_file_formats[m->type] == FILE_FMT_NONE) {
file_magwarn(ms, "No format string for `%s' with description "
"`%s'", m->desc, file_names[m->type]);
"`%s'", m->desc, magic_file_names[m->type]);
return -1;
}
ptr++;
if (ptr && check_format_type(ptr, file_formats[m->type]) == -1) {
if (ptr && check_format_type(ptr, magic_file_formats[m->type]) == -1) {
/*
* TODO: this error message is unhelpful if the format
* string is not one character long
@ -1351,7 +1351,7 @@ static int check_format(RMagic *ms, struct r_magic *m) {
file_magwarn(ms, "Printf format `%c' is not valid for type "
"`%s' in description `%s'",
ptr && *ptr ? *ptr : '?',
file_names[m->type], m->desc);
magic_file_names[m->type], m->desc);
return -1;
}
@ -1360,7 +1360,7 @@ static int check_format(RMagic *ms, struct r_magic *m) {
file_magwarn (ms,
"Too many format strings (should have at most one) "
"for `%s' with description `%s'",
file_names[m->type], m->desc);
magic_file_names[m->type], m->desc);
return -1;
}
}
@ -1859,3 +1859,5 @@ static void bs1(struct r_magic *m) {
}
}
#endif
#include "print.c"

View File

@ -85,8 +85,10 @@ ssize_t sread(int, void *, size_t, int);
int file_check_mem(struct r_magic_set *, unsigned int);
int file_looks_utf8(const unsigned char *, size_t, unichar *, size_t *);
extern const char *file_names[];
/*
extern const char *magic_file_names[FILE_NAMES_SIZE];
extern const size_t file_nnames;
*/
#ifndef HAVE_VASPRINTF
int vasprintf(char **ptr, const char *format_string, va_list vargs);

View File

@ -58,7 +58,7 @@ void file_mdump(struct r_magic *m) {
(void) eprintf ("(%s,",
/* Note: type is unsigned */
(m->in_type < file_nnames) ?
file_names[m->in_type] : "*bad*");
magic_file_names[m->in_type] : "*bad*");
if (m->in_op & FILE_OPINVERSE)
(void) fputc('~', stderr);
(void) eprintf ("%c%u),",
@ -68,7 +68,7 @@ void file_mdump(struct r_magic *m) {
}
(void) eprintf (" %s%s", (m->flag & UNSIGNED) ? "u" : "",
/* Note: type is unsigned */
(m->type < file_nnames) ? file_names[m->type] : "*bad*");
(m->type < file_nnames) ? magic_file_names[m->type] : "*bad*");
if (m->mask_op & FILE_OPINVERSE)
(void) fputc('~', stderr);

View File

@ -13,7 +13,9 @@
#include <sys/stat.h>
#include <sys/types.h>
#if __APPLE__
#if !__POWERPC__
#include <spawn.h>
#endif
#include <sys/ptrace.h>
#include <sys/wait.h>
#include <mach/exception_types.h>
@ -651,7 +653,7 @@ R_API int r_run_start(RRunProfile *p) {
exit (execv (p->_program, (char* const*)p->_args));
}
#endif
#if __APPLE__ && LIBC_HAVE_FORK
#if __APPLE__ && !__POWERPC__ && LIBC_HAVE_FORK
posix_spawnattr_t attr = {0};
pid_t pid = -1;
int ret;

View File

@ -14,6 +14,11 @@ MINOR=1
LD=$(CC)
LDFLAGS+=-L${LIBR}/socket -lr_socket
LDFLAGS+=-L${LIBR}/util -lr_util
ifeq ($(BUILD_OS),darwin)
LDFLAGS_SHARED=-dynamiclib
else
LDFLAGS_SHARED=-shared
endif
#OSTYPE=windows
include ../../libr/socket/deps.mk
@ -29,7 +34,7 @@ $(LIB):
$(LIB)/$(LIBNAME).a: $(LIB) $(SRC_O)
mkdir -p $(LIB)
$(LD) $(PIC_CFLAGS) -shared -o $(LIB)/$(LIBFILE) $(CFLAGS) $(SRC_O) $(LDFLAGS) $(LINK)
$(LD) $(PIC_CFLAGS) $(LDFLAGS_SHARED) -o $(LIB)/$(LIBFILE) $(CFLAGS) $(SRC_O) $(LDFLAGS) $(LINK)
$(AR) rvs $(LIB)/$(LIBNAME).a $(SRC_O)
$(RANLIB) $(LIB)/$(LIBNAME).a

View File

@ -1,5 +1,6 @@
include ../../libr/config.mk
include ../../mk/platform.mk
include ../../mk/$(COMPILER).mk
include ../../shlr/zip/deps.mk
EDITOR?=vim
CC?=gcc
@ -15,6 +16,13 @@ MINOR=1
LD=$(CC)
LDFLAGS+=-L${LIBR}/socket -lr_socket
LDFLAGS+=-L${LIBR}/util -lr_util
ifeq ($(shell uname),Darwin)
LDFLAGS_SHARED=-dynamiclib
else
LDFLAGS_SHARED=-shared
endif
#OSTYPE=windows
include ../../libr/socket/deps.mk
@ -50,7 +58,7 @@ $(LIB):
mkdir -p $(LIB)
$(LIB)/$(LIBNAME).a: $(LIB) $(SRC_O)
$(LD) $(PIC_CFLAGS) -shared -o $(LIB)/$(LIBFILE) $(CFLAGS) $(SRC_O) $(LDFLAGS) $(LINK)
$(LD) $(PIC_CFLAGS) $(LDFLAGS_SHARED) -o $(LIB)/$(LIBFILE) $(CFLAGS) $(SRC_O) $(LDFLAGS) $(LINK)
$(AR) rvs $(LIB)/$(LIBNAME).a $(SRC_O)
# required for solaris and w32
$(RANLIB) $(LIB)/$(LIBNAME).a

View File

@ -15,6 +15,11 @@ MINOR=1
LD=$(CC)
LDFLAGS+=-L${LIBR}/socket -lr_socket
LDFLAGS+=-L${LIBR}/util -lr_util
ifeq ($(BUILD_OS),darwin)
LDFLAGS_SHARED=-dynamiclib
else
LDFLAGS_SHARED=-shared
endif
#OSTYPE=windows
include ../../libr/socket/deps.mk
@ -50,7 +55,7 @@ $(LIB):
mkdir -p $(LIB)
$(LIB)/$(LIBNAME).a: $(LIB) $(SRC_O)
$(LD) $(PIC_CFLAGS) -shared -o $(LIB)/$(LIBFILE) $(CFLAGS) $(SRC_O) $(LDFLAGS) $(LINK)
$(LD) $(PIC_CFLAGS) $(LDFLAGS_SHARED) -o $(LIB)/$(LIBFILE) $(CFLAGS) $(SRC_O) $(LDFLAGS) $(LINK)
$(AR) rvs $(LIB)/$(LIBNAME).a $(SRC_O)
# required for solaris and w32
$(RANLIB) $(LIB)/$(LIBNAME).a