History log of /openbsd-current/gnu/usr.bin/gcc/gcc/protector.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.20 06-May-2014 miod

Remove the ``addressable'' argument to search_string_def(). Turned out to be
a bad idea, for it causes false positives, which then can cause ICE trying
to protect narrower-than-int incoming arguments, if building with
-fstack-protector-all.

From etoh@'s gcc 3.4 tree, unbreaks -fstack-protector-all on m88k (well, maybe
not completely, but it makes it compile more files, such as pf.c which contains
functions receiving uint16_t arguments pushed on the stack due to the
exhaustion of caller-saved registers).


# 1.19 12-Apr-2014 miod

Bring back the fix in r1.16 of the gcc 2.95 version of protector.c - the code
was present, but commented.

This fixes code generation of usr.sbin/dhcpd/memory.c!new_address_range()
on vax.


Revision tags: OPENBSD_5_5_BASE
# 1.18 20-Jan-2014 martynas

Add strong stack protector mode for the original propolice in GCC3.
This includes additional functions to be protected --- those that
have local array definitions, or have references to local frame
addresses.

Miod verified that this works on real hardware, and not just on the
cross-compiled monster I tested this on.


Revision tags: OPENBSD_5_4_BASE
# 1.17 18-Apr-2013 miod

Use __guard_local as the stack protector canary symbol, as already done in
gcc 4.


Revision tags: OPENBSD_5_3_BASE
# 1.16 24-Jan-2013 miod

Get rid of a few warnings by pouring prototypes and punctuation.


# 1.15 19-Nov-2012 miod

Make sure to invoke end_sequence() before passing it to any emit_insn()
flavour. From etoh@'s gcc 3.4 tree. While there, also kill
change_arg_use_of_insns_2() which is now a dim wrapper around
change_arg_use_of_insns(), from etoh@'s tree as well.


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.14 27-Mar-2010 otto

Use prev_nonnote_insn() in push_frame_in_operand(); ok miod@


Revision tags: OPENBSD_4_7_BASE
# 1.13 30-Jan-2010 otto

Make sure the previous node is not a NOTE; prevents ICE on loongson.
Actually we should probably look further than just the immediate
predecessor here. ok miod@


Revision tags: OPENBSD_4_5_BASE OPENBSD_4_6_BASE
# 1.12 28-Oct-2008 miod

Avoid infinite recursion in search_string_def() and search_pointer_def(),
PR #5033; gcc 2.95 will need a similar fix (soon).


Revision tags: OPENBSD_4_4_BASE
# 1.11 25-Apr-2008 miod

reg_renumber[] values are valid if >= 0, not > 0.


Revision tags: OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE OPENBSD_4_3_BASE
# 1.10 25-May-2005 david

spelling fixes


Revision tags: OPENBSD_3_7_BASE
# 1.9 24-Jan-2005 etoh

add the availability check of reg_renumber array.
ok pvalchev@


Revision tags: OPENBSD_3_6_BASE
# 1.8 20-Jun-2004 etoh

ICE with gcc3/propolice -O on macppc fixes:

- INSN_CODE and LOG_LINKS attributes should be copied from the first insn of splitted insns.

ok pvalchev@ and sturm@


# 1.7 19-Apr-2004 avsm

some gcc3/propolice --enable-checking fixes:

- dont use DECL_INLINE to alter a VAR_DECL inline flag. This trips
off gcc3's FUNCTION_DECL assert. Define DECL_VAR_INLINE and
use that instead.

- RTX_INTEGRATE_P isnt expecting to see a PLUS code, which pp adds.

ok etoh@


# 1.6 19-Apr-2004 etoh

fix mysql bug: http://bugs.mysql.com/bug.php?id=1442
changed the order of array relocation with the depth first order of variable scope.

ok pvalchev@


Revision tags: OPENBSD_3_5_BASE
# 1.5 17-Feb-2004 etoh

qmake on sparc64 uses a character array with the size of 1 and pp moves its location in the stack. then, pp breaks the memory alignment of every local variables.
This fixes the problem not to change the location when the array is not aligned based on word boundary.
This also changes SUSPICIOUS_BUF_SIZE from zero to eight. This is the original pp protection.

ok espie@, sturm@, drahn@, brad@


# 1.4 16-Feb-2004 etoh

fix gcc3 i386 strange behavior about extracting insns from PARALLEL insn. this patch takes out inside insns from the parallel insn only when the parallel insn is not valid.

ok drahn@, brad@, sturm@, espie@


# 1.3 12-Feb-2004 etoh

remove the rev 1.2 fix on every architecuters except ARM due to propolice breakage on i386. This is a temporary fix until the breakage will be resolved.

ok espie and dale


# 1.2 05-Feb-2004 etoh

fix the conversion of the insn that comes from gen_load_multiple. ARM processor defines HAVE_load_multiple and uses this gen_load_multiple.
ok pvalchev, drahn


# 1.1 22-Jan-2004 etoh

initial release of propolice gcc 3.3.2