Rename section and encoding functions from i386 which will be used in aarch64
gcc/ChangeLog: * config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Rename functions in mingw folder which will be reused for aarch64. (TARGET_ASM_UNIQUE_SECTION): Likewise. (TARGET_ASM_NAMED_SECTION): Likewise. (TARGET_SECTION_TYPE_FLAGS): Likewise. (ASM_DECLARE_COLD_FUNCTION_NAME): Likewise. (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise. * config/i386/i386-protos.h (i386_pe_unique_section): Rename into ... (mingw_pe_unique_section): ... this. (i386_pe_declare_function_type): Rename into ... (mingw_pe_declare_function_type): ... this. (i386_pe_encode_section_info): Rename into ... (mingw_pe_encode_section_info): ... this. (i386_pe_maybe_record_exported_symbol): Rename into ... (mingw_pe_maybe_record_exported_symbol): ... this. (i386_pe_section_type_flags): Rename into ... (mingw_pe_section_type_flags): ... this. (i386_pe_asm_named_section): Rename into ... (mingw_pe_asm_named_section): ... this. * config/mingw/winnt.cc (i386_pe_encode_section_info): Rename into ... (mingw_pe_encode_section_info): ... this. (i386_pe_unique_section): Rename into ... (mingw_pe_unique_section): ... this. (i386_pe_section_type_flags): Rename into ... (mingw_pe_section_type_flags): ... this. (i386_pe_asm_named_section): Rename into ... (mingw_pe_asm_named_section): ... this. (i386_pe_asm_output_aligned_decl_common): Likewise. (i386_pe_declare_function_type): Rename into ... (mingw_pe_declare_function_type): ... this. (i386_pe_maybe_record_exported_symbol): Rename into ... (mingw_pe_maybe_record_exported_symbol): ... this. (i386_pe_start_function): Likewise. * varasm.cc (switch_to_comdat_section): Likewise.
This commit is contained in:
parent
1f05dfc131
commit
99d7d5ec8d
4 changed files with 27 additions and 27 deletions
|
@ -219,7 +219,7 @@ do { \
|
|||
section and we need to set DECL_SECTION_NAME so we do that here.
|
||||
Note that we can be called twice on the same decl. */
|
||||
|
||||
#define SUBTARGET_ENCODE_SECTION_INFO i386_pe_encode_section_info
|
||||
#define SUBTARGET_ENCODE_SECTION_INFO mingw_pe_encode_section_info
|
||||
|
||||
/* Local and global relocs can be placed always into readonly memory
|
||||
for PE-COFF targets. */
|
||||
|
@ -235,7 +235,7 @@ do { \
|
|||
#undef ASM_DECLARE_OBJECT_NAME
|
||||
#define ASM_DECLARE_OBJECT_NAME(STREAM, NAME, DECL) \
|
||||
do { \
|
||||
i386_pe_maybe_record_exported_symbol (DECL, NAME, 1); \
|
||||
mingw_pe_maybe_record_exported_symbol (DECL, NAME, 1); \
|
||||
ASM_OUTPUT_LABEL ((STREAM), (NAME)); \
|
||||
} while (0)
|
||||
|
||||
|
@ -283,16 +283,16 @@ do { \
|
|||
/* Windows uses explicit import from shared libraries. */
|
||||
#define MULTIPLE_SYMBOL_SPACES 1
|
||||
|
||||
#define TARGET_ASM_UNIQUE_SECTION i386_pe_unique_section
|
||||
#define TARGET_ASM_UNIQUE_SECTION mingw_pe_unique_section
|
||||
#define TARGET_ASM_FUNCTION_RODATA_SECTION default_no_function_rodata_section
|
||||
|
||||
#define SUPPORTS_ONE_ONLY 1
|
||||
|
||||
/* Switch into a generic section. */
|
||||
#define TARGET_ASM_NAMED_SECTION i386_pe_asm_named_section
|
||||
#define TARGET_ASM_NAMED_SECTION mingw_pe_asm_named_section
|
||||
|
||||
/* Select attributes for named sections. */
|
||||
#define TARGET_SECTION_TYPE_FLAGS i386_pe_section_type_flags
|
||||
#define TARGET_SECTION_TYPE_FLAGS mingw_pe_section_type_flags
|
||||
|
||||
/* Write the extra assembler code needed to declare a function
|
||||
properly. */
|
||||
|
@ -307,7 +307,7 @@ do { \
|
|||
#define ASM_DECLARE_COLD_FUNCTION_NAME(FILE, NAME, DECL) \
|
||||
do \
|
||||
{ \
|
||||
i386_pe_declare_function_type (FILE, NAME, 0); \
|
||||
mingw_pe_declare_function_type (FILE, NAME, 0); \
|
||||
i386_pe_seh_cold_init (FILE, NAME); \
|
||||
ASM_OUTPUT_LABEL (FILE, NAME); \
|
||||
} \
|
||||
|
@ -333,7 +333,7 @@ do { \
|
|||
|
||||
/* Declare the type properly for any external libcall. */
|
||||
#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \
|
||||
i386_pe_declare_function_type (FILE, XSTR (FUN, 0), 1)
|
||||
mingw_pe_declare_function_type (FILE, XSTR (FUN, 0), 1)
|
||||
|
||||
/* This says out to put a global symbol in the BSS section. */
|
||||
#undef ASM_OUTPUT_ALIGNED_BSS
|
||||
|
@ -416,9 +416,9 @@ do { \
|
|||
{ \
|
||||
const char *alias \
|
||||
= IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (DECL)); \
|
||||
i386_pe_maybe_record_exported_symbol (DECL, alias, 0); \
|
||||
mingw_pe_maybe_record_exported_symbol (DECL, alias, 0); \
|
||||
if (TREE_CODE (DECL) == FUNCTION_DECL) \
|
||||
i386_pe_declare_function_type (STREAM, alias, \
|
||||
mingw_pe_declare_function_type (STREAM, alias, \
|
||||
TREE_PUBLIC (DECL)); \
|
||||
ASM_OUTPUT_DEF (STREAM, alias, IDENTIFIER_POINTER (TARGET)); \
|
||||
} while (0)
|
||||
|
|
|
@ -295,16 +295,16 @@ extern void ix86_target_macros (void);
|
|||
extern void ix86_register_pragmas (void);
|
||||
|
||||
/* In winnt.cc */
|
||||
extern void i386_pe_unique_section (tree, int);
|
||||
extern void i386_pe_declare_function_type (FILE *, const char *, int);
|
||||
extern void mingw_pe_unique_section (tree, int);
|
||||
extern void mingw_pe_declare_function_type (FILE *, const char *, int);
|
||||
extern void i386_pe_record_external_function (tree, const char *);
|
||||
extern void i386_pe_maybe_record_exported_symbol (tree, const char *, int);
|
||||
extern void i386_pe_encode_section_info (tree, rtx, int);
|
||||
extern void mingw_pe_maybe_record_exported_symbol (tree, const char *, int);
|
||||
extern void mingw_pe_encode_section_info (tree, rtx, int);
|
||||
extern bool i386_pe_binds_local_p (const_tree);
|
||||
extern const char *i386_pe_strip_name_encoding_full (const char *);
|
||||
extern bool i386_pe_valid_dllimport_attribute_p (const_tree);
|
||||
extern unsigned int i386_pe_section_type_flags (tree, const char *, int);
|
||||
extern void i386_pe_asm_named_section (const char *, unsigned int, tree);
|
||||
extern unsigned int mingw_pe_section_type_flags (tree, const char *, int);
|
||||
extern void mingw_pe_asm_named_section (const char *, unsigned int, tree);
|
||||
extern void i386_pe_asm_output_aligned_decl_common (FILE *, tree,
|
||||
const char *,
|
||||
HOST_WIDE_INT,
|
||||
|
|
|
@ -293,7 +293,7 @@ i386_pe_mangle_assembler_name (const char *name)
|
|||
}
|
||||
|
||||
void
|
||||
i386_pe_encode_section_info (tree decl, rtx rtl, int first)
|
||||
mingw_pe_encode_section_info (tree decl, rtx rtl, int first)
|
||||
{
|
||||
rtx symbol;
|
||||
int flags;
|
||||
|
@ -384,7 +384,7 @@ i386_pe_strip_name_encoding_full (const char *str)
|
|||
}
|
||||
|
||||
void
|
||||
i386_pe_unique_section (tree decl, int reloc)
|
||||
mingw_pe_unique_section (tree decl, int reloc)
|
||||
{
|
||||
int len;
|
||||
const char *name, *prefix;
|
||||
|
@ -442,7 +442,7 @@ i386_pe_reloc_rw_mask (void)
|
|||
#define SECTION_PE_SHARED SECTION_MACH_DEP
|
||||
|
||||
unsigned int
|
||||
i386_pe_section_type_flags (tree decl, const char *, int reloc)
|
||||
mingw_pe_section_type_flags (tree decl, const char *, int reloc)
|
||||
{
|
||||
unsigned int flags;
|
||||
|
||||
|
@ -471,7 +471,7 @@ i386_pe_section_type_flags (tree decl, const char *, int reloc)
|
|||
}
|
||||
|
||||
void
|
||||
i386_pe_asm_named_section (const char *name, unsigned int flags,
|
||||
mingw_pe_asm_named_section (const char *name, unsigned int flags,
|
||||
tree decl)
|
||||
{
|
||||
char flagchars[8], *f = flagchars;
|
||||
|
@ -548,7 +548,7 @@ i386_pe_asm_output_aligned_decl_common (FILE *stream, tree decl,
|
|||
rounded = (rounded / (BIGGEST_ALIGNMENT / BITS_PER_UNIT)
|
||||
* (BIGGEST_ALIGNMENT / BITS_PER_UNIT));
|
||||
|
||||
i386_pe_maybe_record_exported_symbol (decl, name, 1);
|
||||
mingw_pe_maybe_record_exported_symbol (decl, name, 1);
|
||||
|
||||
fprintf (stream, "\t.comm\t");
|
||||
assemble_name (stream, name);
|
||||
|
@ -574,7 +574,7 @@ i386_pe_asm_output_aligned_decl_common (FILE *stream, tree decl,
|
|||
visible. */
|
||||
|
||||
void
|
||||
i386_pe_declare_function_type (FILE *file, const char *name, int pub)
|
||||
mingw_pe_declare_function_type (FILE *file, const char *name, int pub)
|
||||
{
|
||||
fprintf (file, "\t.def\t");
|
||||
assemble_name (file, name);
|
||||
|
@ -641,7 +641,7 @@ static GTY(()) struct stub_list *stub_head;
|
|||
the LTO marker. */
|
||||
|
||||
void
|
||||
i386_pe_maybe_record_exported_symbol (tree decl, const char *name, int is_data)
|
||||
mingw_pe_maybe_record_exported_symbol (tree decl, const char *name, int is_data)
|
||||
{
|
||||
rtx symbol;
|
||||
struct export_list *p;
|
||||
|
@ -761,11 +761,11 @@ i386_pe_file_end (void)
|
|||
the real function so that an (unused) import is created. */
|
||||
const char *realsym = i386_find_on_wrapper_list (p->name);
|
||||
if (realsym)
|
||||
i386_pe_declare_function_type (asm_out_file,
|
||||
mingw_pe_declare_function_type (asm_out_file,
|
||||
concat ("__real_", realsym, NULL), TREE_PUBLIC (decl));
|
||||
#endif /* CXX_WRAP_SPEC_LIST */
|
||||
TREE_ASM_WRITTEN (decl) = 1;
|
||||
i386_pe_declare_function_type (asm_out_file, p->name,
|
||||
mingw_pe_declare_function_type (asm_out_file, p->name,
|
||||
TREE_PUBLIC (decl));
|
||||
}
|
||||
}
|
||||
|
@ -1354,8 +1354,8 @@ i386_pe_seh_init_sections (void)
|
|||
void
|
||||
i386_pe_start_function (FILE *f, const char *name, tree decl)
|
||||
{
|
||||
i386_pe_maybe_record_exported_symbol (decl, name, 0);
|
||||
i386_pe_declare_function_type (f, name, TREE_PUBLIC (decl));
|
||||
mingw_pe_maybe_record_exported_symbol (decl, name, 0);
|
||||
mingw_pe_declare_function_type (f, name, TREE_PUBLIC (decl));
|
||||
/* In case section was altered by debugging output. */
|
||||
if (decl != NULL_TREE)
|
||||
switch_to_section (function_section (decl));
|
||||
|
|
|
@ -8668,7 +8668,7 @@ switch_to_comdat_section (section *sect, tree decl)
|
|||
everything in .vtable_map_vars at the end.
|
||||
|
||||
A fix could be made in
|
||||
gcc/config/i386/winnt.cc: i386_pe_unique_section. */
|
||||
gcc/config/i386/winnt.cc: mingw_pe_unique_section. */
|
||||
if (TARGET_PECOFF)
|
||||
{
|
||||
char *name;
|
||||
|
|
Loading…
Add table
Reference in a new issue