[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Missing variable 'pe_data_import_dll'
From: |
Nick Clifton |
Subject: |
Re: Missing variable 'pe_data_import_dll' |
Date: |
24 Sep 2001 16:18:53 +0100 |
Hi Guys,
OK, Sorry about this. I have had to revert Charle's patch to fix
pe_data_import_dll' since it breaks --enable-targets=all builds.
Instead I have just moved the definition of pe_data_import_dll
outside of the section of code controlled by DLL_SUPPORT, so that it
will be available even for targets like the arm-epoc-pe.
Cheers
Nick
2001-09-24 Nick Clifton <address@hidden>
* pe-dll.c (pe_create_import_fixup): Revert previous patch.
* emultemp/pe.em (pe_data_import_dll): Move definition outside of
DLL_SUPPORT controlled code.
Index: pe-dll.c
===================================================================
RCS file: /cvs/src/src/ld/pe-dll.c,v
retrieving revision 1.31
diff -p -r1.31 pe-dll.c
*** pe-dll.c 2001/09/24 15:03:01 1.31
--- pe-dll.c 2001/09/24 15:18:12
*************** pe_create_import_fixup (rel)
*** 2069,2076 ****
}
{
! bfd *b = make_import_fixup_entry (name, fixup_name,
! pe_get_data_import_dll_name (),
output_bfd);
add_bfd_to_link (b, b->filename, &link_info);
}
--- 2069,2078 ----
}
{
! extern char * pe_data_import_dll;
! char * dll_symname = pe_data_import_dll ? "unknown" : pe_data_import_dll;
!
! bfd *b = make_import_fixup_entry (name, fixup_name, dll_symname,
output_bfd);
add_bfd_to_link (b, b->filename, &link_info);
}
Index: emultempl/pe.em
===================================================================
RCS file: /cvs/src/src/ld/emultempl/pe.em,v
retrieving revision 1.53
diff -p -r1.53 pe.em
*** pe.em 2001/09/24 15:03:01 1.53
--- pe.em 2001/09/24 15:18:13
*************** static char *pe_out_def_filename = NULL;
*** 153,159 ****
static char *pe_implib_filename = NULL;
static int pe_enable_auto_image_base = 0;
static char *pe_dll_search_prefix = NULL;
- static char *pe_data_import_dll = NULL;
#endif
extern const char *output_filename;
--- 153,158 ----
*************** gld_${EMULATION_NAME}_after_parse ()
*** 756,778 ****
ldlang_add_undef (entry_symbol);
}
! /* Previously, pe-dll.c directly accessed pe_data_import_dll,
! which was only defined if DLL_SUPPORT. This cause a build
! failure on certain targets. At least this function will
! exist regardless of whether DLL_SUPPORT is defined or not.
!
! However, it's still a kludge. pe-dll.c shouldn't directly
! call any functions other than the gld_${EMULATION_NAME}_*. */
!
! char *
! pe_get_data_import_dll_name ()
! {
! #ifdef DLL_SUPPORT
! return pe_data_import_dll;
! #else
! return "unknown";
! #endif
! }
#ifdef DLL_SUPPORT
static struct bfd_link_hash_entry *pe_undef_found_sym;
--- 755,766 ----
ldlang_add_undef (entry_symbol);
}
! /* pe-dll.c directly accesses pe_data_import_dll,
! so it must be defined outside of #ifdef DLL_SUPPORT.
! Note - this variable is deliberately not initialised.
! This allows it to be treated as a common varaible, and only
! exist in one incarnation in a multiple target enabled linker. */
! char * pe_data_import_dll;
#ifdef DLL_SUPPORT
static struct bfd_link_hash_entry *pe_undef_found_sym;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: Missing variable 'pe_data_import_dll',
Nick Clifton <=