diff options
author | YamaArashi <shadow962@live.com> | 2016-02-14 19:26:29 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-02-14 19:26:29 -0800 |
commit | 62f1c8373a074a7ffb3d0f7458803bf0b07e626e (patch) | |
tree | 32045778cc5a8458ba8ded51dfd79356fbff9d9d /gcc | |
parent | abcd805cb77cfcfe0b5f911b784610983750a0b2 (diff) |
remove PIC (non-working and disabled)
Diffstat (limited to 'gcc')
-rwxr-xr-x | gcc/config/arm/thumb.c | 6 | ||||
-rwxr-xr-x | gcc/cse.c | 7 | ||||
-rwxr-xr-x | gcc/dwarf2out.c | 5 | ||||
-rwxr-xr-x | gcc/emit-rtl.c | 4 | ||||
-rwxr-xr-x | gcc/expr.c | 34 | ||||
-rwxr-xr-x | gcc/expr.h | 3 | ||||
-rwxr-xr-x | gcc/final.c | 5 | ||||
-rwxr-xr-x | gcc/flags.h | 5 | ||||
-rwxr-xr-x | gcc/function.c | 6 | ||||
-rwxr-xr-x | gcc/function.h | 5 | ||||
-rwxr-xr-x | gcc/gcse.c | 6 | ||||
-rwxr-xr-x | gcc/genattrtab.c | 1 | ||||
-rwxr-xr-x | gcc/integrate.c | 11 | ||||
-rwxr-xr-x | gcc/output.h | 10 | ||||
-rwxr-xr-x | gcc/recog.c | 9 | ||||
-rwxr-xr-x | gcc/regclass.c | 6 | ||||
-rwxr-xr-x | gcc/reload.c | 8 | ||||
-rwxr-xr-x | gcc/reload1.c | 5 | ||||
-rwxr-xr-x | gcc/resource.c | 3 | ||||
-rwxr-xr-x | gcc/rtl.h | 2 | ||||
-rwxr-xr-x | gcc/rtlanal.c | 2 | ||||
-rwxr-xr-x | gcc/stmt.c | 5 | ||||
-rwxr-xr-x | gcc/toplev.c | 19 | ||||
-rwxr-xr-x | gcc/varasm.c | 8 |
24 files changed, 12 insertions, 163 deletions
diff --git a/gcc/config/arm/thumb.c b/gcc/config/arm/thumb.c index 05ded97..1e03a05 100755 --- a/gcc/config/arm/thumb.c +++ b/gcc/config/arm/thumb.c @@ -1495,12 +1495,6 @@ thumb_override_options() else warning("Structure size boundary can only be set to 8 or 32"); } - - if (flag_pic) - { - warning("Position independent code not supported. Ignored"); - flag_pic = 0; - } } /* Return nonzero if ATTR is a valid attribute for DECL. @@ -2398,10 +2398,6 @@ set_nonvarying_address_components (addr, size, pbase, pstart, pend) start = 0; end = 0; - if (flag_pic && GET_CODE (base) == PLUS - && XEXP (base, 0) == pic_offset_table_rtx) - base = XEXP (base, 1); - /* Registers with nonvarying addresses usually have constant equivalents; but the frame pointer register is also possible. */ if (GET_CODE (base) == REG @@ -8634,9 +8630,6 @@ cse_main (f, nregs, after_loop, file) #if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM && ! (i == ARG_POINTER_REGNUM && fixed_regs[i]) #endif -#if defined (PIC_OFFSET_TABLE_REGNUM) && !defined (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED) - && ! (i == PIC_OFFSET_TABLE_REGNUM && flag_pic) -#endif ) || global_regs[i]) SET_HARD_REG_BIT (regs_invalidated_by_call, i); diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 6c3a49a..4a01bb6 100755 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -2699,10 +2699,7 @@ restart: switch (GET_CODE (x)) { case PC: - if (flag_pic) - dyn_string_append (str, ","); - else - abort (); + abort (); break; case SYMBOL_REF: diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index f429c77..52c28d9 100755 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -149,7 +149,6 @@ rtx struct_value_rtx; /* (REG:Pmode STRUCT_VALUE_REGNUM) */ rtx struct_value_incoming_rtx; /* (REG:Pmode STRUCT_VALUE_INCOMING_REGNUM) */ rtx static_chain_rtx; /* (REG:Pmode STATIC_CHAIN_REGNUM) */ rtx static_chain_incoming_rtx; /* (REG:Pmode STATIC_CHAIN_INCOMING_REGNUM) */ -rtx pic_offset_table_rtx; /* (REG:Pmode PIC_OFFSET_TABLE_REGNUM) */ /* This is used to implement __builtin_return_address for some machines. See for instance the MIPS port. */ @@ -3630,9 +3629,6 @@ init_emit_once (line_numbers) #endif #endif -#ifdef PIC_OFFSET_TABLE_REGNUM - pic_offset_table_rtx = gen_rtx_REG (Pmode, PIC_OFFSET_TABLE_REGNUM); -#endif #ifdef INIT_EXPANDERS /* This is to initialize save_machine_status and restore_machine_status before @@ -4953,20 +4953,6 @@ force_operand (value, target) /* Use subtarget as the target for operand 0 of a binary operation. */ register rtx subtarget = (target != 0 && GET_CODE (target) == REG ? target : 0); - /* Check for a PIC address load. */ - if (flag_pic - && (GET_CODE (value) == PLUS || GET_CODE (value) == MINUS) - && XEXP (value, 0) == pic_offset_table_rtx - && (GET_CODE (XEXP (value, 1)) == SYMBOL_REF - || GET_CODE (XEXP (value, 1)) == LABEL_REF - || GET_CODE (XEXP (value, 1)) == CONST)) - { - if (!subtarget) - subtarget = gen_reg_rtx (GET_MODE (value)); - emit_move_insn (subtarget, value); - return subtarget; - } - if (GET_CODE (value) == PLUS) binoptab = add_optab; else if (GET_CODE (value) == MINUS) @@ -11605,14 +11591,6 @@ do_tablejump (index, mode, range, table_label, default_label) if (mode != Pmode) index = convert_to_mode (Pmode, index, 1); - /* Don't let a MEM slip thru, because then INDEX that comes - out of PIC_CASE_VECTOR_ADDRESS won't be a valid address, - and break_out_memory_refs will go to work on it and mess it up. */ -#ifdef PIC_CASE_VECTOR_ADDRESS - if (flag_pic && GET_CODE (index) != REG) - index = copy_to_mode_reg (Pmode, index); -#endif - /* If flag_force_addr were to affect this address it could interfere with the tricky assumptions made about addresses that contain label-refs, @@ -11625,12 +11603,8 @@ do_tablejump (index, mode, range, table_label, default_label) gen_rtx_MULT (Pmode, index, GEN_INT (GET_MODE_SIZE (CASE_VECTOR_MODE))), gen_rtx_LABEL_REF (Pmode, table_label)); -#ifdef PIC_CASE_VECTOR_ADDRESS - if (flag_pic) - index = PIC_CASE_VECTOR_ADDRESS (index); - else -#endif - index = memory_address_noforce (CASE_VECTOR_MODE, index); + + index = memory_address_noforce (CASE_VECTOR_MODE, index); temp = gen_reg_rtx (CASE_VECTOR_MODE); vector = gen_rtx_MEM (CASE_VECTOR_MODE, index); RTX_UNCHANGING_P (vector) = 1; @@ -11638,9 +11612,9 @@ do_tablejump (index, mode, range, table_label, default_label) emit_jump_insn (gen_tablejump (temp, table_label)); - /* If we are generating PIC code or if the table is PC-relative, the + /* If the table is PC-relative, the table and JUMP_INSN must be adjacent, so don't output a BARRIER. */ - if (! CASE_VECTOR_PC_RELATIVE && ! flag_pic) + if (! CASE_VECTOR_PC_RELATIVE) emit_barrier (); } @@ -94,9 +94,6 @@ extern rtx current_function_arg_offset_rtx; /* This is nonzero if the current function uses the constant pool. */ extern int current_function_uses_const_pool; -/* This is nonzero if the current function uses pic_offset_table_rtx. */ -extern int current_function_uses_pic_offset_table; - /* The arg pointer hard register, or the pseudo into which it was copied. */ extern rtx current_function_internal_arg_pointer; diff --git a/gcc/final.c b/gcc/final.c index 0cb1444..1627075 100755 --- a/gcc/final.c +++ b/gcc/final.c @@ -2627,10 +2627,7 @@ output_addr_const (file, x) switch (GET_CODE (x)) { case PC: - if (flag_pic) - putc ('.', file); - else - abort (); + abort (); break; case SYMBOL_REF: diff --git a/gcc/flags.h b/gcc/flags.h index d817cdb..c5a2f37 100755 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -356,11 +356,6 @@ extern int flag_pretend_float; extern int flag_pedantic_errors; -/* Nonzero means generate position-independent code. - This is not fully implemented yet. */ - -extern int flag_pic; - /* Nonzero means generate extra code for exception handling and enable exception handling. */ diff --git a/gcc/function.c b/gcc/function.c index 035d089..cd572ad 100755 --- a/gcc/function.c +++ b/gcc/function.c @@ -213,9 +213,6 @@ rtx current_function_return_rtx; int current_function_uses_const_pool; -/* Nonzero if the current function uses pic_offset_table_rtx. */ -int current_function_uses_pic_offset_table; - /* The arg pointer hard register, or the pseudo into which it was copied. */ rtx current_function_internal_arg_pointer; @@ -531,7 +528,6 @@ push_function_context_to (context) p->varargs = current_function_varargs; p->stdarg = current_function_stdarg; p->uses_const_pool = current_function_uses_const_pool; - p->uses_pic_offset_table = current_function_uses_pic_offset_table; p->internal_arg_pointer = current_function_internal_arg_pointer; p->cannot_inline = current_function_cannot_inline; p->max_parm_reg = max_parm_reg; @@ -617,7 +613,6 @@ pop_function_context_from (context) current_function_varargs = p->varargs; current_function_stdarg = p->stdarg; current_function_uses_const_pool = p->uses_const_pool; - current_function_uses_pic_offset_table = p->uses_pic_offset_table; current_function_internal_arg_pointer = p->internal_arg_pointer; current_function_cannot_inline = p->cannot_inline; max_parm_reg = p->max_parm_reg; @@ -5621,7 +5616,6 @@ init_function_start (subr, filename, line) current_function_returns_pcc_struct = 0; current_function_returns_struct = 0; current_function_uses_const_pool = 0; - current_function_uses_pic_offset_table = 0; current_function_cannot_inline = 0; /* CYGNUS LOCAL -- Branch Prediction */ current_function_uses_expect = 0; diff --git a/gcc/function.h b/gcc/function.h index 64cac01..05929a9 100755 --- a/gcc/function.h +++ b/gcc/function.h @@ -195,14 +195,9 @@ struct function /* For integrate.c. */ int uses_const_pool; - /* For md files. */ - int uses_pic_offset_table; /* tm.h can use this to store whatever it likes. */ struct machine_function *machine; - /* For reorg. */ - rtx epilogue_delay_list; - /* For varasm. */ struct constant_descriptor **const_rtx_hash_table; struct pool_sym **const_rtx_sym_hash_table; @@ -2230,9 +2230,6 @@ compute_hash_table (set_p) #if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM && ! (regno == ARG_POINTER_REGNUM && fixed_regs[regno]) #endif -#if defined (PIC_OFFSET_TABLE_REGNUM) && !defined (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED) - && ! (regno == PIC_OFFSET_TABLE_REGNUM && flag_pic) -#endif && regno != FRAME_POINTER_REGNUM) || global_regs[regno]) @@ -2688,9 +2685,6 @@ compute_kill_rd () && ! (regno == ARG_POINTER_REGNUM && fixed_regs[regno]) #endif -#if defined (PIC_OFFSET_TABLE_REGNUM) && !defined (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED) - && ! (regno == PIC_OFFSET_TABLE_REGNUM && flag_pic) -#endif && regno != FRAME_POINTER_REGNUM) || global_regs[regno]) handle_rd_kill_set (insn, regno, bb); diff --git a/gcc/genattrtab.c b/gcc/genattrtab.c index e2f8dc7..029a1ff 100755 --- a/gcc/genattrtab.c +++ b/gcc/genattrtab.c @@ -360,7 +360,6 @@ int optimize = 0; They won't actually be used. */ struct _global_rtl global_rtl; -rtx pic_offset_table_rtx; static void attr_hash_add_rtx PROTO((int, rtx)); static void attr_hash_add_string PROTO((int, char *)); diff --git a/gcc/integrate.c b/gcc/integrate.c index 65e6011..b2c8aa3 100755 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -296,8 +296,7 @@ initialize_for_inline (fndecl, min_labelno, max_labelno, max_reg, copy) + current_function_needs_context * FUNCTION_FLAGS_NEEDS_CONTEXT + current_function_has_nonlocal_label * FUNCTION_FLAGS_HAS_NONLOCAL_LABEL + current_function_returns_pointer * FUNCTION_FLAGS_RETURNS_POINTER - + current_function_uses_const_pool * FUNCTION_FLAGS_USES_CONST_POOL - + current_function_uses_pic_offset_table * FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE); + + current_function_uses_const_pool * FUNCTION_FLAGS_USES_CONST_POOL); /* Clear out PARMDECL_MAP. It was allocated in the caller's frame. */ zero_memory ((char *) parmdecl_map, max_parm_reg * sizeof (tree)); @@ -1589,11 +1588,6 @@ expand_inline_function (fndecl, parms, target, ignore, type, if (OUTGOING_ARGS_SIZE (header) > current_function_outgoing_args_size) current_function_outgoing_args_size = OUTGOING_ARGS_SIZE (header); - /* If the inline function needs to make PIC references, that means - that this function's PIC offset table must be used. */ - if (FUNCTION_FLAGS (header) & FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE) - current_function_uses_pic_offset_table = 1; - /* If this function needs a context, set it up. */ if (FUNCTION_FLAGS (header) & FUNCTION_FLAGS_NEEDS_CONTEXT) static_chain_value = lookup_static_chain (fndecl); @@ -3406,9 +3400,6 @@ output_inline_function (fndecl) if (FUNCTION_FLAGS (head) & FUNCTION_FLAGS_USES_CONST_POOL) current_function_uses_const_pool = 1; - if (FUNCTION_FLAGS (head) & FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE) - current_function_uses_pic_offset_table = 1; - current_function_outgoing_args_size = OUTGOING_ARGS_SIZE (head); current_function_pops_args = POPS_ARGS (head); diff --git a/gcc/output.h b/gcc/output.h index 227da4c..e5178db 100755 --- a/gcc/output.h +++ b/gcc/output.h @@ -446,14 +446,6 @@ extern char *current_function_name; extern rtx current_function_return_rtx; #endif -/* Nonzero means generate position-independent code. - This is not fully implemented yet. */ - -extern int flag_pic; - -/* This is nonzero if the current function uses pic_offset_table_rtx. */ -extern int current_function_uses_pic_offset_table; - /* This is nonzero if the current function uses the constant pool. */ extern int current_function_uses_const_pool; @@ -481,7 +473,7 @@ extern FILE *rtl_dump_file; && DECL_INITIAL (DECL) \ && (DECL_INITIAL (DECL) == error_mark_node \ || TREE_CONSTANT (DECL_INITIAL (DECL))) \ - && ! (RELOC && (flag_pic || DECL_ONE_ONLY (DECL)))) + && ! (RELOC && (DECL_ONE_ONLY (DECL)))) /* User label prefix in effect for this compilation. */ extern char *user_label_prefix; diff --git a/gcc/recog.c b/gcc/recog.c index ef65fb1..0557321 100755 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -910,9 +910,6 @@ general_operand (op, mode) if (CONSTANT_P (op)) return ((GET_MODE (op) == VOIDmode || GET_MODE (op) == mode) -#ifdef LEGITIMATE_PIC_OPERAND_P - && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)) -#endif && LEGITIMATE_CONSTANT_P (op)); /* Except for certain constants with VOIDmode, already checked for, @@ -1073,9 +1070,6 @@ immediate_operand (op, mode) return (CONSTANT_P (op) && (GET_MODE (op) == mode || mode == VOIDmode || GET_MODE (op) == VOIDmode) -#ifdef LEGITIMATE_PIC_OPERAND_P - && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)) -#endif && LEGITIMATE_CONSTANT_P (op)); } @@ -1136,9 +1130,6 @@ nonmemory_operand (op, mode) return 0; return ((GET_MODE (op) == VOIDmode || GET_MODE (op) == mode) -#ifdef LEGITIMATE_PIC_OPERAND_P - && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)) -#endif && LEGITIMATE_CONSTANT_P (op)); } diff --git a/gcc/regclass.c b/gcc/regclass.c index dbf8871..97e8228 100755 --- a/gcc/regclass.c +++ b/gcc/regclass.c @@ -1341,9 +1341,6 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn) break; case 'i': if (CONSTANT_P (op) -#ifdef LEGITIMATE_PIC_OPERAND_P - && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)) -#endif ) win = 1; break; @@ -1386,9 +1383,6 @@ record_reg_classes (n_alts, n_ops, ops, modes, constraints, insn) case 'g': if (GET_CODE (op) == MEM || (CONSTANT_P (op) -#ifdef LEGITIMATE_PIC_OPERAND_P - && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)) -#endif )) win = 1; allows_mem = 1; diff --git a/gcc/reload.c b/gcc/reload.c index c6670c8..42cfcd5 100755 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -3101,9 +3101,6 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) break; case 'i': if (CONSTANT_P (operand) -#ifdef LEGITIMATE_PIC_OPERAND_P - && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (operand)) -#endif ) win = 1; break; @@ -3139,11 +3136,6 @@ find_reloads (insn, replace, ind_levels, live_known, reload_reg_p) && GET_CODE (operand) != PLUS /* A SCRATCH is not a valid operand. */ && GET_CODE (operand) != SCRATCH -#ifdef LEGITIMATE_PIC_OPERAND_P - && (! CONSTANT_P (operand) - || ! flag_pic - || LEGITIMATE_PIC_OPERAND_P (operand)) -#endif && (GENERAL_REGS == ALL_REGS || GET_CODE (operand) != REG || (REGNO (operand) >= FIRST_PSEUDO_REGISTER diff --git a/gcc/reload1.c b/gcc/reload1.c index e8af2a2..96ae223 100755 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -693,11 +693,6 @@ reload (first, global, dumpfile) { rtx note = find_reg_note (insn, REG_EQUIV, NULL_RTX); if (note -#ifdef LEGITIMATE_PIC_OPERAND_P - && (! function_invariant_p (XEXP (note, 0)) - || ! flag_pic - || LEGITIMATE_PIC_OPERAND_P (XEXP (note, 0))) -#endif ) { rtx x = XEXP (note, 0); diff --git a/gcc/resource.c b/gcc/resource.c index 3231f0e..7d38af2 100755 --- a/gcc/resource.c +++ b/gcc/resource.c @@ -943,9 +943,6 @@ mark_target_live_regs (insns, target, res) #if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM && ! (i == ARG_POINTER_REGNUM && fixed_regs[i]) #endif -#ifdef PIC_OFFSET_TABLE_REGNUM - && ! (i == PIC_OFFSET_TABLE_REGNUM && flag_pic) -#endif ) CLEAR_HARD_REG_BIT (current_live_regs, i); @@ -713,7 +713,6 @@ extern char *note_insn_name[]; #define FUNCTION_FLAGS_RETURNS_POINTER 0100 #define FUNCTION_FLAGS_USES_CONST_POOL 0200 #define FUNCTION_FLAGS_CALLS_LONGJMP 0400 -#define FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE 01000 /* Define a macro to look for REG_INC notes, but save time on machines where they never exist. */ @@ -1108,7 +1107,6 @@ extern struct _global_rtl #define stack_pointer_rtx (&global_rtl.stack_pointer_val) #define frame_pointer_rtx (&global_rtl.frame_pointer_val) -extern rtx pic_offset_table_rtx; extern rtx struct_value_rtx; extern rtx struct_value_incoming_rtx; extern rtx static_chain_rtx; diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 0830be5..b22f99a 100755 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -105,7 +105,7 @@ rtx_varies_p (x) eliminated the frame and/or arg pointer and are using it for pseudos. */ return ! (x == frame_pointer_rtx || x == hard_frame_pointer_rtx - || x == arg_pointer_rtx || x == pic_offset_table_rtx); + || x == arg_pointer_rtx); case LO_SUM: /* The operand 0 of a LO_SUM is considered constant @@ -4944,9 +4944,6 @@ expand_end_case (orig_index) || count < (unsigned int) CASE_VALUES_THRESHOLD || ((unsigned HOST_WIDE_INT) (TREE_INT_CST_LOW (range)) > 10 * count) -#ifndef ASM_OUTPUT_ADDR_DIFF_ELT - || flag_pic -#endif || TREE_CODE (index_expr) == INTEGER_CST /* These will reduce to a constant. */ || (TREE_CODE (index_expr) == CALL_EXPR @@ -5156,7 +5153,7 @@ expand_end_case (orig_index) /* Output the table */ emit_label (table_label); - if (CASE_VECTOR_PC_RELATIVE || flag_pic) + if (CASE_VECTOR_PC_RELATIVE) emit_jump_insn (gen_rtx_ADDR_DIFF_VEC (CASE_VECTOR_MODE, gen_rtx_LABEL_REF (Pmode, table_label), gen_rtvec_v (ncases, labelvec), diff --git a/gcc/toplev.c b/gcc/toplev.c index 8c8112c..57563fe 100755 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -516,13 +516,6 @@ int flag_shared_data; int flag_delayed_branch; -/* Nonzero if we are compiling pure (sharable) code. - Value is 1 if we are doing reasonable (i.e. simple - offset into offset table) pic. Value is 2 if we can - only perform register offsets. */ - -int flag_pic; - /* Nonzero means generate extra code for exception handling and enable exception handling. */ @@ -799,9 +792,6 @@ lang_independent_options f_options[] = {"optimize-comparisons", &flag_optimize_comparisons, 1, "Make some comparison operations sequence optimizations"}, /* END CYGNUS LOCAL meissner/nortel */ - {"pic", &flag_pic, 1, - "Generate position independent code, if possible"}, - {"PIC", &flag_pic, 2, ""}, {"exceptions", &flag_exceptions, 1, "Enable exception handling" }, {"new-exceptions", &flag_new_exceptions, 1, @@ -3291,15 +3281,6 @@ rest_of_compilation (decl) /* Emit code to get eh context, if needed. */ emit_eh_context (); -#ifdef FINALIZE_PIC - /* If we are doing position-independent code generation, now - is the time to output special prologues and epilogues. - We do not want to do this earlier, because it just clutters - up inline functions with meaningless insns. */ - if (flag_pic) - FINALIZE_PIC; -#endif - /* From now on, allocate rtl in current_obstack, not in saveable_obstack. Note that that may have been done above, in save_for_inline_copying. The call to resume_temporary_allocation near the end of this function diff --git a/gcc/varasm.c b/gcc/varasm.c index 267ff99..e1f83bc 100755 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -464,10 +464,7 @@ exception_section () #ifdef ASM_OUTPUT_SECTION_NAME named_section (NULL_TREE, ".gcc_except_table", 0); #else - if (flag_pic) - data_section (); - else - readonly_data_section (); + readonly_data_section (); #endif #endif } @@ -2942,8 +2939,7 @@ output_constant_def_contents (exp, reloc, labelno) #ifdef SELECT_SECTION SELECT_SECTION (exp, reloc); #else - if (((TREE_CODE (exp) == STRING_CST) && flag_writable_strings) - || (flag_pic && reloc)) + if ((TREE_CODE (exp) == STRING_CST) && flag_writable_strings) data_section (); else readonly_data_section (); |