projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TcTyFuns: remove some duplicate code
[ghc-hetmet.git]
/
rts
/
Linker.c
diff --git
a/rts/Linker.c
b/rts/Linker.c
index
da62d58
..
e86efd3
100644
(file)
--- a/
rts/Linker.c
+++ b/
rts/Linker.c
@@
-646,7
+646,8
@@
typedef struct _RtsSymbolVal {
SymX(stg_CAF_BLACKHOLE_info) \
SymX(awakenBlockedQueue) \
SymX(stg_CHARLIKE_closure) \
SymX(stg_CAF_BLACKHOLE_info) \
SymX(awakenBlockedQueue) \
SymX(stg_CHARLIKE_closure) \
- SymX(stg_EMPTY_MVAR_info) \
+ SymX(stg_MVAR_CLEAN_info) \
+ SymX(stg_MVAR_DIRTY_info) \
SymX(stg_IND_STATIC_info) \
SymX(stg_INTLIKE_closure) \
SymX(stg_MUT_ARR_PTRS_DIRTY_info) \
SymX(stg_IND_STATIC_info) \
SymX(stg_INTLIKE_closure) \
SymX(stg_MUT_ARR_PTRS_DIRTY_info) \
@@
-731,6
+732,7
@@
typedef struct _RtsSymbolVal {
SymX(rts_stop_next_breakpoint) \
SymX(rts_stop_on_exception) \
SymX(stopTimer) \
SymX(rts_stop_next_breakpoint) \
SymX(rts_stop_on_exception) \
SymX(stopTimer) \
+ SymX(n_capabilities) \
RTS_USER_SIGNALS_SYMBOLS
#ifdef SUPPORT_LONG_LONGS
RTS_USER_SIGNALS_SYMBOLS
#ifdef SUPPORT_LONG_LONGS
@@
-946,13
+948,13
@@
typedef
static OpenedDLL* opened_dlls = NULL;
#endif
static OpenedDLL* opened_dlls = NULL;
#endif
-char *
+const char *
addDLL( char *dll_name )
{
# if defined(OBJFORMAT_ELF) || defined(OBJFORMAT_MACHO)
/* ------------------- ELF DLL loader ------------------- */
void *hdl;
addDLL( char *dll_name )
{
# if defined(OBJFORMAT_ELF) || defined(OBJFORMAT_MACHO)
/* ------------------- ELF DLL loader ------------------- */
void *hdl;
- char *errmsg;
+ const char *errmsg;
initLinker();
initLinker();
@@
-2903,8
+2905,12
@@
ocVerifyImage_ELF ( ObjectCode* oc )
#ifdef EM_X86_64
case EM_X86_64: IF_DEBUG(linker,debugBelch( "x86_64" )); break;
#endif
#ifdef EM_X86_64
case EM_X86_64: IF_DEBUG(linker,debugBelch( "x86_64" )); break;
#endif
+#ifdef EM_AMD64
+ case EM_AMD64: IF_DEBUG(linker,debugBelch( "amd64" )); break;
+#endif
default: IF_DEBUG(linker,debugBelch( "unknown" ));
default: IF_DEBUG(linker,debugBelch( "unknown" ));
- errorBelch("%s: unknown architecture", oc->fileName);
+ errorBelch("%s: unknown architecture (e_machine == %d)"
+ , oc->fileName, ehdr->e_machine);
return 0;
}
return 0;
}
@@
-4245,7
+4251,7
@@
static int relocateSection(
#ifdef powerpc_HOST_ARCH
// In the .o file, this should be a relative jump to NULL
// and we'll change it to a relative jump to the symbol
#ifdef powerpc_HOST_ARCH
// In the .o file, this should be a relative jump to NULL
// and we'll change it to a relative jump to the symbol
- ASSERT(-word == reloc->r_address);
+ ASSERT(word + reloc->r_address == 0);
jumpIsland = (unsigned long)
&makeSymbolExtra(oc,
reloc->r_symbolnum,
jumpIsland = (unsigned long)
&makeSymbolExtra(oc,
reloc->r_symbolnum,