Commit Graph

5548 Commits

Author SHA1 Message Date
christos 2872c55cb0 Add a hack to handle that the __stack_chk_fail_local call is not generated
properly for pic code; more explained in the code.
2007-09-15 16:24:06 +00:00
christos 664366b805 Add a warning that prints the symbol that has the text reloc. 2007-09-15 14:35:34 +00:00
wiz deb6da4b83 Add macros for FreeBSD 6.3 and libarchive. 2007-08-06 23:38:49 +00:00
heas 571ff43dba New files from 2.4.5 2007-08-02 08:29:04 +00:00
heas ad7967a461 Resolve conflicts 2007-08-02 08:26:18 +00:00
heas 1f8ae20c33 Update Postfix to 2.4.5.
2.4.2 through 2.4.5 include various build, milter, and other fixes.
2007-08-02 08:04:21 +00:00
christos 95405cdada PR/36664: Greg A. Woods: Document a simpler and safer way to find gcc's
pre-defined macros.
XXX: Where is the source of this file? Can we pass this upstream?
2007-07-18 00:00:21 +00:00
mrg 7c79844261 re-run mknative with GCC 4.1.3 2007-06-21 16:58:44 +00:00
skrll 39d5b9520a Remove gdb 5.3 as nothing uses it now. 2007-06-21 12:51:06 +00:00
mrg 70d2e95cee merge GCC 4.1-20070620. 2007-06-21 04:01:59 +00:00
mrg f73a50514d import GCC-4.1 branch from 20070620 (revision 125891). this fixes 78
GCC PR's listed below, and also fixes some netbsd PR's.

	30370
	C++/28988
	C++/30016
	C++/30168
	C++/30221
	c++/28999
	c++/30536
	c++/30847
	c++/30852
	c++/30895
	c++/31074
	c++/31449
	c++/31517
	c++/31806
	c++/31809
	c/31520
	debug/29906
	debug/30189
	inline-asm/32109
	libstdc++/28125
	libstdc++/30586
	middle-end/24427
	middle-end/29683
	middle-end/30313
	middle-end/30364
	middle-end/30433
	middle-end/30473
	middle-end/30729
	middle-end/30761
	middle-end/31448
	middle-end/32285
	objc/27438
	objc/30479
	other/27843
	preprocessor/30468:
	rtl-optimization/28011
	rtl-optimization/28173
	rtl-optimization/28772
	rtl-optimization/29329
	rtl-optimization/29599
	rtl-optimization/30643
	rtl-optimization/30787
	rtl-optimization/30931
	rtl-optimization/31691
	target/18989
	target/19087
	target/25448
	target/26090
	target/28623
	target/28675
	target/29487
	target/30289
	target/30483
	target/30848
	target/31022
	target/31123
	target/31137
	target/31245
	target/31361
	target/31380
	target/31480
	target/31582
	target/31641
	target/31701
	target/31876
	target/32163
	tree-opt/30045
	tree-optimization/26643
	tree-optimization/26854
	tree-optimization/26998
	tree-optimization/27087
	tree-optimization/29446
	tree-optimization/29925
	tree-optimization/30212
	tree-optimization/30590
	tree-optimization/30823
	tree-optimization/31632
	tree-optimization/32353
2007-06-20 22:55:47 +00:00
wiz cb7051a0fc Move puffs and refuse definitions to local override file. 2007-06-09 10:19:43 +00:00
he 47b1d7c5c4 Commit generated file after correcting to use the "standardized"
variable for overriding SSP functionality location test.
2007-06-07 15:56:48 +00:00
he 678b5429b3 Instead of inventing a new environment variable to override the
SSP functionality location test, use gcc_cv_libc_provides_ssp instead,
as hinted by freza@ and uwe@.
2007-06-07 14:36:27 +00:00
he 20237a6fdb Commit autoconf-generated file after modifying configure.ac to allow
override of the TARGET_LIBC_PROVIDES_SSP test.
2007-06-07 08:59:53 +00:00
he bd8f620dfb Modify the gcc configure script to allow override of the "target libc
has ssp functions built-in" test via the TARGET_LIBC_PROVIDES_SSP environment
variable, to allow us to configure a cross-compiler appropriately without
having to try to find out by looking in the target's source directory.

Tweak our build to tell gcc that the ssp bits are now in libc.

The native compiler appears to already think that the ssp bits
live in libc, so no change appears to be needed there.

The autoconf-generated configure script will be committed separately shortly.
2007-06-07 08:58:58 +00:00
uwe 86fd3cca3a Fix gcc codegen bug that manifests during generation of stack
protector code for sh3.  Details in gcc pr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32163

Author: kkojima
Date: Sun Jun  3 04:38:52 2007
New Revision: 125292

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=125292
Log:
        PR target/32163
        * config/sh/sh.md (symGOT_load): Don't schedule insns when
        the symbol is generated with the stack protector.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/sh/sh.md
2007-06-03 21:02:44 +00:00
skrll 8ed58e93b0 Search for void * as the type of the 3rd argument of ptrace. 2007-06-03 14:59:22 +00:00
tls 4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
yamt 68f37fd0aa amd64nbsd_supply_pcb: as dumpsys() was changed to prepare switchframe,
always use switchframe.  fixes a build problem after yamt-idlelwp.
update some comments.  reviewed by Frank van der Linden.
2007-05-25 15:14:21 +00:00
christos 01e5675c2a add libssp here. requested by wiz 2007-05-23 17:01:25 +00:00
christos 4320602b61 back out previous, requested by wiz 2007-05-23 16:59:03 +00:00
christos c2c58c755b mention libssp 2007-05-23 14:42:54 +00:00
christos 77601d393f Add missing brace, from Blair Sadewitz 2007-05-20 21:31:05 +00:00
heas 6967b3455a Changes for PFIX 2.4.1 2007-05-19 18:39:11 +00:00
heas 2ad3ac5978 Changes for PFIX 2.4.1 2007-05-19 18:08:54 +00:00
heas 2626a40999 Resolve import conflicts 2007-05-19 17:49:37 +00:00
heas a924864766 postfix 2.4.1 2007-05-19 16:27:18 +00:00
agc 40127a027d Add definition of librefuse. 2007-05-16 06:48:41 +00:00
skrll 7b1e89b840 Add LOADLIBES= -lkvm - it's needed when someone(tm) feeds this upstream.
src/gnu/usr.bin/gdb6 and mknative should probably pay attention to
LOADLIBES.... one day.
2007-05-15 17:49:08 +00:00
fvdl 4a58254657 Reran mknative for kvm target support. 2007-05-15 15:44:40 +00:00
fvdl cdfcd42972 target kvm support for amd64 2007-05-15 15:40:49 +00:00
matt 3649c80dc2 Fix LP64 issue with invalid register names. When printing a register name,
look in reg_renumber if the register >= FIRST_PSEUDO_REGISTER.
Add code to not use movc3 for small fixed (<= 48 byte) moves.  Instead
expand them to the proper series of mov[qlwb] instructions.
2007-04-20 16:30:32 +00:00
uwe e249080b64 Regen: remove sh5 support from sh3 tools. 2007-04-20 11:13:23 +00:00
uwe 119f6e61f7 Do not include sh64 support into sh*-netbsdelf* targets unless
specifically requested with sh5* or sh64*.
2007-04-20 11:09:00 +00:00
matt f93b326c17 Deal with symbol forced to be local (by use of .hidden or by linker version
files).
2007-04-19 19:50:59 +00:00
matt 517c8a8b40 Make movmemhi insn pattern use "o" constraint to avoid codegen bugs.
Fix some non-use of MEM_P, REG_P, CONST_INT_P.
2007-04-18 22:55:24 +00:00
matt d96c1bd9b7 At lower optimization levels, constants can tricle to subdi3. Deal with it. 2007-04-14 20:43:03 +00:00
matt e449ba3363 Change tst<mode> pattern to use nrmT for constraints instead of g. 2007-04-13 20:02:42 +00:00
plunky 83e1a80c5e escape Rv as it conflicts with .Rv macro 2007-04-13 18:20:48 +00:00
matt 4a9a0814a6 Change G_ENABLE_SHARED to yes. 2007-04-12 20:56:16 +00:00
matt c9e6e23717 If possible, adjust extzv/insv to not cross int boundaries. 2007-04-11 02:21:07 +00:00
matt 0606d1948b when pic, symbol [ + offset ] + reg is indexed so it's mode dependent.
Make sure we indicate that.  (fixes the as bug)
2007-04-09 03:44:14 +00:00
matt 2d3546bb65 Fix a optimize_size problem in the correct (and smaller) manner. 2007-04-08 10:32:42 +00:00
scw 23c93d0392 Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:56:02 +00:00
scw 5764a76889 Remove support for NetBSD/{,evb}sh5. 2007-04-08 09:35:21 +00:00
matt 768e321a24 Switch back to mnegl hi, mnegl lo, sbwc and prevent split_quadword_operands
from using POST_INC in the case of negation.  Fix reversal of operands in
-Os use of ashq.
2007-04-08 03:07:23 +00:00
matt 2c37c6c8f1 Fix a problem with -Os. 2007-04-07 22:50:27 +00:00
matt 43a709f886 2006-08-24 Richard Guenther <rguenther@suse.de>
* builtins.c (fold_builtin_classify): Fix typo.
2007-04-07 06:13:15 +00:00
matt 4fab8ae973 Fix addition of negative 64bit constants. Don't optimize the instructions
too much otherwise we might use some that don't affect the carry bit.  Make
sure we are using paired instructions (add/adwc, sub/sbwc).
2007-04-06 22:46:36 +00:00
matt 5db28f425f When mova[lq] to a push operand, do a pusha[lq] instead. 2007-04-06 20:50:33 +00:00
matt 4af7958221 Fix 64-bit negation. 2007-04-06 20:49:02 +00:00
wiz 166737735f Describe Lk and Mt. From Brad Harder in PR 36126. 2007-04-06 17:05:18 +00:00
matt 086f0329dc Fix constraints on ffs. 2007-04-02 16:45:39 +00:00
matt 20feb5b064 Fix cut-and-pasto. 2007-04-02 16:44:31 +00:00
matt 831f4686c1 Get rid of old unused constraints. 2007-04-02 16:44:17 +00:00
matt abe5cdbc17 Add __builtin_ffs support. 2007-03-31 23:12:37 +00:00
matt deb622ec5b Final step. Turn on generation of PIC code. Full release build builds and
works.
2007-03-31 05:55:11 +00:00
matt dec8719ee4 For nonimmediate operands of SImode, don't use "g" anymore, use "nrmT" instead.
"g" matches just about anything including SYMBOL_REF, CONST, LABEL_REF which
should not be operands for most instructions in PIC mode.  (movsi can handle
then and addsi3 can handle them in a few limited cases).
2007-03-31 01:23:26 +00:00
matt aa3062f197 Step 2. Produces PIC code but doesn't satisfies the constraints needed
by userland.  (external symbols can still be indirected and relocs for
symbol + offset are emitted).
2007-03-31 00:59:47 +00:00
matt 57ad7b9e42 Use HOST_WIDE_INT where appropriate. Cleanup split_quadword_operands 2007-03-30 22:03:28 +00:00
matt f775e4410d Enable new quadmove code. Only use mova[lq] instead of ashl when
!optimize_size.  When optimize_size is on, try to use ashl if possible
if setting a 6bit unsigned quantity in the word.
2007-03-30 22:02:26 +00:00
matt 120d27ab08 Add symbolic_operand (matches const, symbol_ref, label_ref). 2007-03-30 21:25:01 +00:00
matt 1336eda547 Remove split_quadword_operands 2007-03-30 21:24:03 +00:00
matt 9e311d116b Simplify the address_operand patterns. Use gcc's macros and split between
push and mov addr patterns.
2007-03-30 21:23:42 +00:00
matt d18d7c0fc4 Fix a few missing REG_P, use symbolic_operand instead of testint CONST/SYMBOL_REF/LABEL_REF, make split_quadword_operands static, don't pass the insn just the rtx code for the insn 2007-03-30 21:15:24 +00:00
matt 58ad121651 Step 1 of getting gcc to generate VAX PIC code again. These steps are being
committed in "smallish" steps.  This step incorporates the switch to MEM_P,
REG_P, and CONST_INT_P.  Use bool/true/false where appropriate.  PRINT_OPERAND
moves from being a large macro in vax.h print_operand in vax.c.  Fix rtx cost
for a constant of 0.  This eliminates unneeded moves when setting to 0 would
be fine.

Lastly, include completely new (on by default) code for DImode move, addition,
and subtract.  This code is significantly faster and smaller that what existed
before.
2007-03-30 20:25:46 +00:00
matt 7457e904c0 Add CONST_INT_P 2007-03-30 19:47:19 +00:00
matt e43d142e40 Steal code from tc-sparc.[ch] to implement a vax specific "cons" routine.
Add a %pcrel{32,16,8}(exp) special which emit a PC32 relocation to exp.
This will be used by the gcc dwarf code to generic .eh_frame sections which
are read-only and can be put in the text PT_LOAD.
2007-03-16 22:16:12 +00:00
matt 02f41de9c1 Don't emit PLT entries for PC32 entries not in a code section.
Don't emit PC32 relocations in shared libraries if the relocation is not in
a section with the CODE attribute.  (This is for DWARF2).
2007-03-16 22:12:11 +00:00
matt c50630ea67 Fix LP64 bug. 2007-03-10 23:23:07 +00:00
matt 2018fad37d Honour ${CPUFLAGS} 2007-03-09 04:40:38 +00:00
mrg e274239983 regenerate everything with fixed c++ math bits. 2007-03-01 01:57:15 +00:00
skrll 3d26910b10 sun2 mknative output for gdb6. 2007-02-28 08:12:13 +00:00
skrll 15e7f1810b Pass the LWP of the ptid in PT_{GET,SET}REGS calls.
Pulled across from the changes to gdb5.3.
2007-02-26 23:11:01 +00:00
drochner ce75a0ec7e regen after math.h change - now we've got _GLIBCXX_USE_C99_MATH 2007-02-26 11:57:52 +00:00
skrll c0f2a403cd Pass the LWP of the ptid in PT_{GET,SET}REGS calls.
Pulled across from the changes to gdb5.3.
2007-02-24 13:05:18 +00:00
skrll d6172f381e Whitespace 2007-02-24 13:01:34 +00:00
skrll dcad5cdb82 Applies the changes made in gdb 5.3 to support pthread debugging.
Fixes part of PR/35540.
2007-02-24 12:36:27 +00:00
christos 493edcfdc7 improve on TARGET_LIBC_PROVIDES_SSP test suggested from phone. 2007-02-23 21:31:13 +00:00
chs fd090e47e8 rerun mknative (disabling sim). 2007-02-19 18:30:58 +00:00
chs 13bb388148 disable sim for mips until someone adds the rest of the build framework for it. 2007-02-19 18:26:22 +00:00
chs ae4967aaae bring over local mods from gdb5:
- use the right LWP ID with ptrace.
 - implement single stepping.
2007-02-19 18:22:04 +00:00
rmind 07f5c15ae5 Enable sdiff(1) in usr.bin, disable GNU sdiff(1).
lists seems to be compatible.
2007-02-18 22:44:44 +00:00
freza 592d6d615c Fix MKDEBUGLIB build. 2007-02-16 16:34:17 +00:00
drochner 10527a675c regen after math.h change - now we've got _GLIBCXX_USE_C99_MATH 2007-02-07 16:52:31 +00:00
drochner 310805bbe6 regen after math.h change - now we've got _GLIBCXX_USE_C99_MATH 2007-02-06 17:32:29 +00:00
rpaulo 9cecbd0179 Merge postfix-2.3.7 2007-02-05 17:56:11 +00:00
rpaulo 231b0ce3a6 postfix 2.3.7 2007-02-05 17:36:15 +00:00
rpaulo 87cc82cf9b postfix 2.3.7 2007-02-05 17:35:53 +00:00
christos bb1029ffc1 Don't mark 0 length arrays as being too small for stack protection. 2007-01-27 01:27:29 +00:00
wiz b5d2193e6a Add NetBSD-1.3.3 and FreeBSD-6.1 for hashinit(9). 2007-01-23 22:26:06 +00:00
skrll fb3b023826 Correct a comment. 2007-01-20 10:54:44 +00:00
pooka 533e5fb937 I don't spell "puffs" with allcaps (except in macro names, har har),
so uncapsize it from here also
2007-01-19 20:04:39 +00:00
skrll ba85386518 Apply an iffy heuristic to detect a valid switchframe on the stack and
extract the register state from this for the live kernel case. If there
is no switchframe then use the frame pointer to get enough state for crash
dump case.

More information needs to be saved by savectx to avoid this mess.

Should fix PR/35118
2007-01-18 18:15:02 +00:00
mrg b2d62876b4 regenerate these files via mknative.
XXX: gcc auto-host.h generation is still broken and turns off
XXX: gas "comdat" support.  i have not commited these files..
2007-01-13 09:26:59 +00:00
mrg 80ab5c909f fix the list of headers to check for on netbsd 2007-01-13 08:30:13 +00:00
skrll 3677759599 Deal with lex and yacc generated files for gdb in the same way as gcc.
That is, use the files supplied with the distribution and never attempt
to rebuild them.

Should fix PR/35271
2007-01-12 13:24:30 +00:00
mrg fb1bedf6c8 bump NetBSD version 2007-01-11 07:19:06 +00:00
mrg d84579c1c7 merge GCC 4.1.2-20070110. 2007-01-11 06:59:53 +00:00