Compare commits
68 Commits
master
...
gcc-4_4_4-
Author | SHA1 | Date | |
---|---|---|---|
|
394291872b | ||
|
5c23d59ebd | ||
|
3d07cd896d | ||
|
5a7d9dc0a8 | ||
|
1ed00a9db1 | ||
|
fb5c1a0707 | ||
|
ac65565092 | ||
|
5add3166c1 | ||
|
b3ac221024 | ||
|
0a09948fd8 | ||
|
e245903552 | ||
|
1778cecda7 | ||
|
0e6e2a5876 | ||
|
4e8d565857 | ||
|
14a1983937 | ||
|
dccd321b61 | ||
|
e80bd9bf12 | ||
|
afd8af0fcb | ||
|
bbbaf574f9 | ||
|
f75f6392c2 | ||
|
9213fff7ab | ||
|
eb581ae38f | ||
|
f461b6ed33 | ||
|
32a41c84e7 | ||
|
659ba089a7 | ||
|
bff82482b3 | ||
|
1f4db6694b | ||
|
379e7f0211 | ||
|
3ac8816a69 | ||
|
3f5a5b7946 | ||
|
2b90ba6797 | ||
|
85d822a98d | ||
|
09bfdb61b5 | ||
|
6f77c54b8f | ||
|
62dea55b3e | ||
|
4d70a242e3 | ||
|
ddf3933cbe | ||
|
2d0a12b85e | ||
|
887d4e11f5 | ||
|
e249787ad8 | ||
|
d6e42845fd | ||
|
b0b29e5052 | ||
|
fe7123be2e | ||
|
c74497bde9 | ||
|
f1605bb0ee | ||
|
d99f739735 | ||
|
a354ca51f2 | ||
|
ec957e5dc4 | ||
|
9c8124b23d | ||
|
5bcda03961 | ||
|
9902b7cd9a | ||
|
0d152de22b | ||
|
76ec317715 | ||
|
400e8045f3 | ||
|
8b855723f4 | ||
|
9cd3a61fb2 | ||
|
51454468e8 | ||
|
a50cd738d0 | ||
|
addd43e70a | ||
|
a3030b561e | ||
|
e31e9a02d7 | ||
|
a1aa91bff1 | ||
|
f3f054a694 | ||
|
8e816cd8e4 | ||
|
22fa975b2a | ||
|
fd4bc79df7 | ||
|
223805d0a0 | ||
|
2defd1bd2a |
@ -1,2 +1,2 @@
|
|||||||
fastjar-0.97.tar.gz
|
fastjar-0.97.tar.gz
|
||||||
gcc-4.4.1-20090925.tar.bz2
|
gcc-4.4.4-20100713.tar.bz2
|
||||||
|
4
Makefile
4
Makefile
@ -1,10 +1,10 @@
|
|||||||
# Makefile for source rpm: gcc
|
# Makefile for source rpm: gcc
|
||||||
# $Id: Makefile,v 1.1 2004/09/09 04:57:24 cvsdist Exp $
|
# $Id: Makefile,v 1.2 2007/10/15 18:46:35 notting Exp $
|
||||||
NAME := gcc
|
NAME := gcc
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
SPECFILE = $(firstword $(wildcard *.spec))
|
||||||
|
|
||||||
define find-makefile-common
|
define find-makefile-common
|
||||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||||
endef
|
endef
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||||
|
14
fastjar-0.97-filename0.patch
Normal file
14
fastjar-0.97-filename0.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
2010-03-01 Richard Guenther <rguenther@suse.de>
|
||||||
|
|
||||||
|
* jartool.c (read_entries): Properly zero-terminate filename.
|
||||||
|
|
||||||
|
--- fastjar-0.97/jartool.c 6 Sep 2009 22:16:00 -0000 1.59
|
||||||
|
+++ fastjar-0.97/jartool.c 1 Mar 2010 15:38:43 -0000 1.60
|
||||||
|
@@ -790,6 +790,7 @@ int read_entries (int fd)
|
||||||
|
progname, jarfile);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
+ ze->filename[len] = '\0';
|
||||||
|
len = UNPACK_UB4(header, CEN_EFLEN);
|
||||||
|
len += UNPACK_UB4(header, CEN_COMLEN);
|
||||||
|
if (lseek (fd, len, SEEK_CUR) == -1)
|
16
fastjar-0.97-len1.patch
Normal file
16
fastjar-0.97-len1.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
2009-12-21 Chris Ball <cjb@laptop.org>
|
||||||
|
|
||||||
|
* jartool.c (add_file_to_jar): Test write return value against -1
|
||||||
|
instead of 1.
|
||||||
|
|
||||||
|
--- fastjar-0.97/jartool.c.jj 2008-10-15 12:35:37.000000000 -0400
|
||||||
|
+++ fastjar-0.97/jartool.c 2009-12-22 06:48:09.309530000 -0500
|
||||||
|
@@ -1257,7 +1257,7 @@ int add_file_to_jar(int jfd, int ffd, co
|
||||||
|
exit_on_error("write");
|
||||||
|
|
||||||
|
/* write the file name to the zip file */
|
||||||
|
- if (1 == write(jfd, fname, file_name_length))
|
||||||
|
+ if (-1 == write(jfd, fname, file_name_length))
|
||||||
|
exit_on_error("write");
|
||||||
|
|
||||||
|
if(verbose){
|
102
fastjar-CVE-2010-0831.patch
Normal file
102
fastjar-CVE-2010-0831.patch
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
2010-06-10 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
Dan Rosenberg <dan.j.rosenberg@gmail.com>
|
||||||
|
|
||||||
|
* jartool.c (extract_jar): Fix up checks for traversal to parent
|
||||||
|
directories, disallow absolute paths, make the code slightly more
|
||||||
|
efficient.
|
||||||
|
|
||||||
|
--- fastjar-0.97/jartool.c.jj 2009-09-07 00:10:47.000000000 +0200
|
||||||
|
+++ fastjar-0.97/jartool.c 2010-06-08 20:00:29.000000000 +0200
|
||||||
|
@@ -1730,7 +1730,17 @@ int extract_jar(int fd, const char **fil
|
||||||
|
struct stat sbuf;
|
||||||
|
int depth = 0;
|
||||||
|
|
||||||
|
- tmp_buff = malloc(sizeof(char) * strlen((const char *)filename));
|
||||||
|
+ if(*filename == '/'){
|
||||||
|
+ fprintf(stderr, "Absolute path names are not allowed.\n");
|
||||||
|
+ exit(EXIT_FAILURE);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ tmp_buff = malloc(strlen((const char *)filename));
|
||||||
|
+
|
||||||
|
+ if(tmp_buff == NULL) {
|
||||||
|
+ fprintf(stderr, "Out of memory.\n");
|
||||||
|
+ exit(EXIT_FAILURE);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
for(;;){
|
||||||
|
const ub1 *idx = (const unsigned char *)strchr((const char *)start, '/');
|
||||||
|
@@ -1738,25 +1748,28 @@ int extract_jar(int fd, const char **fil
|
||||||
|
if(idx == NULL)
|
||||||
|
break;
|
||||||
|
else if(idx == start){
|
||||||
|
+ tmp_buff[idx - filename] = '/';
|
||||||
|
start++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
- start = idx + 1;
|
||||||
|
|
||||||
|
- strncpy(tmp_buff, (const char *)filename, (idx - filename));
|
||||||
|
- tmp_buff[(idx - filename)] = '\0';
|
||||||
|
+ memcpy(tmp_buff + (start - filename), (const char *)start, (idx - start));
|
||||||
|
+ tmp_buff[idx - filename] = '\0';
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
printf("checking the existance of %s\n", tmp_buff);
|
||||||
|
#endif
|
||||||
|
- if(strcmp(tmp_buff, "..") == 0){
|
||||||
|
+ if(idx - start == 2 && memcmp(start, "..", 2) == 0){
|
||||||
|
--depth;
|
||||||
|
if (depth < 0){
|
||||||
|
fprintf(stderr, "Traversal to parent directories during unpacking!\n");
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
- } else if (strcmp(tmp_buff, ".") != 0)
|
||||||
|
+ } else if (idx - start != 1 || *start != '.')
|
||||||
|
++depth;
|
||||||
|
+
|
||||||
|
+ start = idx + 1;
|
||||||
|
+
|
||||||
|
if(stat(tmp_buff, &sbuf) < 0){
|
||||||
|
if(errno != ENOENT)
|
||||||
|
exit_on_error("stat");
|
||||||
|
@@ -1765,6 +1778,7 @@ int extract_jar(int fd, const char **fil
|
||||||
|
#ifdef DEBUG
|
||||||
|
printf("Directory exists\n");
|
||||||
|
#endif
|
||||||
|
+ tmp_buff[idx - filename] = '/';
|
||||||
|
continue;
|
||||||
|
}else {
|
||||||
|
fprintf(stderr, "Hmmm.. %s exists but isn't a directory!\n",
|
||||||
|
@@ -1781,10 +1795,11 @@ int extract_jar(int fd, const char **fil
|
||||||
|
if(verbose && handle)
|
||||||
|
printf("%10s: %s/\n", "created", tmp_buff);
|
||||||
|
|
||||||
|
+ tmp_buff[idx - filename] = '/';
|
||||||
|
}
|
||||||
|
|
||||||
|
/* only a directory */
|
||||||
|
- if(strlen((const char *)start) == 0)
|
||||||
|
+ if(*start == '\0')
|
||||||
|
dir = TRUE;
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
@@ -1792,7 +1807,7 @@ int extract_jar(int fd, const char **fil
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* If the entry was just a directory, don't write to file, etc */
|
||||||
|
- if(strlen((const char *)start) == 0)
|
||||||
|
+ if(*start == '\0')
|
||||||
|
f_fd = -1;
|
||||||
|
|
||||||
|
free(tmp_buff);
|
||||||
|
@@ -1876,7 +1891,8 @@ int extract_jar(int fd, const char **fil
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
- close(f_fd);
|
||||||
|
+ if (f_fd != -1)
|
||||||
|
+ close(f_fd);
|
||||||
|
|
||||||
|
if(verbose && dir == FALSE && handle)
|
||||||
|
printf("%10s: %s\n",
|
27
fastjar-man.patch
Normal file
27
fastjar-man.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
2010-03-24 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
* Makefile.am (POD2MAN): Provide --date from ChangeLog.
|
||||||
|
* Makefile.in: Regenerate.
|
||||||
|
|
||||||
|
--- fastjar-0.97/Makefile.am.jj 2008-10-16 04:24:55.000000000 -0400
|
||||||
|
+++ fastjar-0.97/Makefile.am 2010-06-21 09:29:41.021398000 -0400
|
||||||
|
@@ -39,7 +39,7 @@ EXTRA_DIST = \
|
||||||
|
texi2pod.pl
|
||||||
|
|
||||||
|
TEXI2POD = perl $(srcdir)/texi2pod.pl
|
||||||
|
-POD2MAN = pod2man --center="GNU" --release=@VERSION@
|
||||||
|
+POD2MAN = pod2man --center="GNU" --release=@VERSION@ --date=$(shell sed -n '1s/ .*//p' <$(srcdir)/ChangeLog)
|
||||||
|
|
||||||
|
.pod.1:
|
||||||
|
-($(POD2MAN) --section=1 $< > $(@).T$$$$ && \
|
||||||
|
--- fastjar-0.97/Makefile.in.jj 2008-10-16 04:15:16.000000000 -0400
|
||||||
|
+++ fastjar-0.97/Makefile.in 2010-06-21 09:30:15.882810000 -0400
|
||||||
|
@@ -515,7 +515,7 @@ EXTRA_DIST = \
|
||||||
|
texi2pod.pl
|
||||||
|
|
||||||
|
TEXI2POD = perl $(srcdir)/texi2pod.pl
|
||||||
|
-POD2MAN = pod2man --center="GNU" --release=@VERSION@
|
||||||
|
+POD2MAN = pod2man --center="GNU" --release=@VERSION@ --date=$(shell sed -n '1s/ .*//p' <$(srcdir)/ChangeLog)
|
||||||
|
|
||||||
|
#SPLINT_FLAGS=-I . -I $(srcdir)/lib -I $(srcdir) -DHAVE_CONFIG_H +posixlib +weak
|
||||||
|
SPLINT_FLAGS = -I . -I $(srcdir)/lib -I $(srcdir) -DHAVE_CONFIG_H -DPRIx32= -warnposix +weak
|
@ -1,6 +1,6 @@
|
|||||||
--- libada/Makefile.in.jj 2009-01-14 12:07:35.000000000 +0100
|
--- libada/Makefile.in.jj 2009-01-14 12:07:35.000000000 +0100
|
||||||
+++ libada/Makefile.in 2009-01-15 14:25:33.000000000 +0100
|
+++ libada/Makefile.in 2009-01-15 14:25:33.000000000 +0100
|
||||||
@@ -67,17 +67,39 @@ version := $(shell cat $(srcdir)/../gcc/
|
@@ -69,18 +69,40 @@ version := $(shell cat $(srcdir)/../gcc/
|
||||||
libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
|
libsubdir := $(libdir)/gcc/$(target_noncanonical)/$(version)$(MULTISUBDIR)
|
||||||
ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
|
ADA_RTS_DIR=$(GCC_DIR)/ada/rts$(subst /,_,$(MULTISUBDIR))
|
||||||
|
|
||||||
@ -38,12 +38,14 @@
|
|||||||
"SHELL=$(SHELL)" \
|
"SHELL=$(SHELL)" \
|
||||||
- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \
|
- "GNATLIBFLAGS=$(GNATLIBFLAGS) $(MULTIFLAGS)" \
|
||||||
- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
|
- "GNATLIBCFLAGS=$(GNATLIBCFLAGS) $(MULTIFLAGS)" \
|
||||||
|
- "GNATLIBCFLAGS_FOR_C=$(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS)" \
|
||||||
+ "GNATLIBFLAGS=$(strip $(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
|
+ "GNATLIBFLAGS=$(strip $(GNATLIBFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
|
||||||
+ "GNATLIBCFLAGS=$(strip $(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
|
+ "GNATLIBCFLAGS=$(strip $(GNATLIBCFLAGS) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
|
||||||
|
+ "GNATLIBCFLAGS_FOR_C=$(strip $(GNATLIBCFLAGS_FOR_C) $(MULTIFLAGS) $(DEFAULTMULTIFLAGS))" \
|
||||||
"TARGET_LIBGCC2_CFLAGS=$(TARGET_LIBGCC2_CFLAGS)" \
|
"TARGET_LIBGCC2_CFLAGS=$(TARGET_LIBGCC2_CFLAGS)" \
|
||||||
"THREAD_KIND=$(THREAD_KIND)" \
|
"THREAD_KIND=$(THREAD_KIND)" \
|
||||||
"TRACE=$(TRACE)" \
|
"TRACE=$(TRACE)" \
|
||||||
@@ -88,7 +110,7 @@ LIBADA_FLAGS_TO_PASS = \
|
@@ -91,7 +113,7 @@ LIBADA_FLAGS_TO_PASS = \
|
||||||
"exeext=.exeext.should.not.be.used " \
|
"exeext=.exeext.should.not.be.used " \
|
||||||
'CC=the.host.compiler.should.not.be.needed' \
|
'CC=the.host.compiler.should.not.be.needed' \
|
||||||
"GCC_FOR_TARGET=$(CC)" \
|
"GCC_FOR_TARGET=$(CC)" \
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
2008-01-25 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
* lang.c (java_classify_record): Revert 2007-12-20 change.
|
|
||||||
|
|
||||||
--- gcc/java/lang.c 2007-12-27 09:09:49.000000000 +0100
|
|
||||||
+++ gcc/java/lang.c 2008-01-25 17:43:57.000000000 +0100
|
|
||||||
@@ -965,9 +965,7 @@ java_classify_record (tree type)
|
|
||||||
if (! CLASS_P (type))
|
|
||||||
return RECORD_IS_STRUCT;
|
|
||||||
|
|
||||||
- /* ??? GDB does not support DW_TAG_interface_type as of December,
|
|
||||||
- 2007. Re-enable this at a later time. */
|
|
||||||
- if (0 && CLASS_INTERFACE (TYPE_NAME (type)))
|
|
||||||
+ if (CLASS_INTERFACE (TYPE_NAME (type)))
|
|
||||||
return RECORD_IS_INTERFACE;
|
|
||||||
|
|
||||||
return RECORD_IS_CLASS;
|
|
52
gcc44-no-add-needed.patch
Normal file
52
gcc44-no-add-needed.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
2010-02-08 Roland McGrath <roland@redhat.com>
|
||||||
|
|
||||||
|
* config/rs6000/sysv4.h (LINK_EH_SPEC): Pass --no-add-needed to the
|
||||||
|
linker.
|
||||||
|
* config/linux.h (LINK_EH_SPEC): Likewise.
|
||||||
|
* config/alpha/elf.h (LINK_EH_SPEC): Likewise.
|
||||||
|
* config/ia64/linux.h (LINK_EH_SPEC): Likewise.
|
||||||
|
|
||||||
|
--- gcc/config/alpha/elf.h.~1~
|
||||||
|
+++ gcc/config/alpha/elf.h
|
||||||
|
@@ -421,7 +421,7 @@ extern int alpha_this_gpdisp_sequence_nu
|
||||||
|
I imagine that other systems will catch up. In the meantime, it
|
||||||
|
doesn't harm to make sure that the data exists to be used later. */
|
||||||
|
#if defined(HAVE_LD_EH_FRAME_HDR)
|
||||||
|
-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
|
||||||
|
+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* A C statement (sans semicolon) to output to the stdio stream STREAM
|
||||||
|
--- gcc/config/ia64/linux.h.~1~
|
||||||
|
+++ gcc/config/ia64/linux.h
|
||||||
|
@@ -58,7 +58,7 @@ do { \
|
||||||
|
Signalize that because we have fde-glibc, we don't need all C shared libs
|
||||||
|
linked against -lgcc_s. */
|
||||||
|
#undef LINK_EH_SPEC
|
||||||
|
-#define LINK_EH_SPEC "%{!r:--build-id} "
|
||||||
|
+#define LINK_EH_SPEC "--no-add-needed %{!r:--build-id} "
|
||||||
|
|
||||||
|
#define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
|
||||||
|
|
||||||
|
--- gcc/config/linux.h.~1~
|
||||||
|
+++ gcc/config/linux.h
|
||||||
|
@@ -89,7 +89,7 @@ see the files COPYING3 and COPYING.RUNTI
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#if defined(HAVE_LD_EH_FRAME_HDR)
|
||||||
|
-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
|
||||||
|
+#define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Define this so we can compile MS code for use with WINE. */
|
||||||
|
--- gcc/config/rs6000/sysv4.h.~1~
|
||||||
|
+++ gcc/config/rs6000/sysv4.h
|
||||||
|
@@ -917,7 +917,7 @@ SVR4_ASM_SPEC \
|
||||||
|
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
|
||||||
|
|
||||||
|
#if defined(HAVE_LD_EH_FRAME_HDR)
|
||||||
|
-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
|
||||||
|
+# define LINK_EH_SPEC "--no-add-needed %{!static:--eh-frame-hdr} %{!r:--build-id} "
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
|
49
gcc44-pr44542.patch
Normal file
49
gcc44-pr44542.patch
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
2010-06-17 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR target/44542
|
||||||
|
* cfgexpand.c (expand_one_stack_var_at): Limit align to maximum
|
||||||
|
of max_used_stack_slot_alignment and PREFERRED_STACK_BOUNDARY
|
||||||
|
instead of MAX_SUPPORTED_STACK_ALIGNMENT.
|
||||||
|
(expand_one_var): Don't consider DECL_ALIGN for variables for
|
||||||
|
which expand_one_stack_var_at has been already called.
|
||||||
|
|
||||||
|
--- gcc/cfgexpand.c.jj 2010-06-17 17:01:11.964198458 +0200
|
||||||
|
+++ gcc/cfgexpand.c 2010-06-17 18:25:18.940335757 +0200
|
||||||
|
@@ -839,7 +839,7 @@ static void
|
||||||
|
expand_one_stack_var_at (tree decl, HOST_WIDE_INT offset)
|
||||||
|
{
|
||||||
|
/* Alignment is unsigned. */
|
||||||
|
- unsigned HOST_WIDE_INT align;
|
||||||
|
+ unsigned HOST_WIDE_INT align, max_align;
|
||||||
|
rtx x;
|
||||||
|
|
||||||
|
/* If this fails, we've overflowed the stack frame. Error nicely? */
|
||||||
|
@@ -852,10 +852,10 @@ expand_one_stack_var_at (tree decl, HOST
|
||||||
|
offset -= frame_phase;
|
||||||
|
align = offset & -offset;
|
||||||
|
align *= BITS_PER_UNIT;
|
||||||
|
- if (align == 0)
|
||||||
|
- align = STACK_BOUNDARY;
|
||||||
|
- else if (align > MAX_SUPPORTED_STACK_ALIGNMENT)
|
||||||
|
- align = MAX_SUPPORTED_STACK_ALIGNMENT;
|
||||||
|
+ max_align = MAX (crtl->max_used_stack_slot_alignment,
|
||||||
|
+ PREFERRED_STACK_BOUNDARY);
|
||||||
|
+ if (align == 0 || align > max_align)
|
||||||
|
+ align = max_align;
|
||||||
|
DECL_ALIGN (decl) = align;
|
||||||
|
DECL_USER_ALIGN (decl) = 0;
|
||||||
|
|
||||||
|
@@ -1054,6 +1054,13 @@ expand_one_var (tree var, bool toplevel,
|
||||||
|
align = MINIMUM_ALIGNMENT (TREE_TYPE (var),
|
||||||
|
TYPE_MODE (TREE_TYPE (var)),
|
||||||
|
TYPE_ALIGN (TREE_TYPE (var)));
|
||||||
|
+ else if (DECL_HAS_VALUE_EXPR_P (var)
|
||||||
|
+ || (DECL_RTL_SET_P (var) && MEM_P (DECL_RTL (var))))
|
||||||
|
+ /* Don't consider debug only variables with DECL_HAS_VALUE_EXPR_P set
|
||||||
|
+ or variables which were assigned a stack slot already by
|
||||||
|
+ expand_one_stack_var_at - in the latter case DECL_ALIGN has been
|
||||||
|
+ changed from the offset chosen to it. */
|
||||||
|
+ align = crtl->stack_alignment_estimated;
|
||||||
|
else
|
||||||
|
align = MINIMUM_ALIGNMENT (var, DECL_MODE (var), DECL_ALIGN (var));
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
@ -1,28 +0,0 @@
|
|||||||
2007-10-21 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
|
|
||||||
* doc/Makefile.am (POD2MAN): Set date from cp-tools.texinfo
|
|
||||||
timestamp rather than from current date.
|
|
||||||
* doc/Makefile.in: Regenerated.
|
|
||||||
|
|
||||||
--- libjava/classpath/doc/Makefile.am.jj 2007-12-07 17:55:00.000000000 +0100
|
|
||||||
+++ libjava/classpath/doc/Makefile.am 2007-12-07 18:55:28.000000000 +0100
|
|
||||||
@@ -31,7 +31,7 @@ TOOLS_MANFILES = \
|
|
||||||
gtnameserv.1 \
|
|
||||||
gjdoc.1
|
|
||||||
|
|
||||||
-POD2MAN = pod2man --center="GNU" --release="$(VERSION)"
|
|
||||||
+POD2MAN = pod2man --center="GNU" --release="$(VERSION)" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')"
|
|
||||||
TEXI2POD = perl $(srcdir)/texi2pod.pl
|
|
||||||
STAMP = echo timestamp >
|
|
||||||
|
|
||||||
--- libjava/classpath/doc/Makefile.in.jj 2007-12-07 17:55:00.000000000 +0100
|
|
||||||
+++ libjava/classpath/doc/Makefile.in 2007-12-07 18:55:43.000000000 +0100
|
|
||||||
@@ -382,7 +382,7 @@ TOOLS_MANFILES = \
|
|
||||||
gtnameserv.1 \
|
|
||||||
gjdoc.1
|
|
||||||
|
|
||||||
-POD2MAN = pod2man --center="GNU" --release="$(VERSION)"
|
|
||||||
+POD2MAN = pod2man --center="GNU" --release="$(VERSION)" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')"
|
|
||||||
TEXI2POD = perl $(srcdir)/texi2pod.pl
|
|
||||||
STAMP = echo timestamp >
|
|
||||||
@GENINSRC_FALSE@STAMP_GENINSRC =
|
|
74
gcc44-rh610785.patch
Normal file
74
gcc44-rh610785.patch
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
2010-07-07 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* tree-sra.c (sra_build_assignment): Don't add BIT_XOR_EXPR/MINUS_EXPR
|
||||||
|
of signbit if signbit is the most significant bit of utype already.
|
||||||
|
|
||||||
|
* gcc.c-torture/execute/20100707-1.c: New test.
|
||||||
|
|
||||||
|
--- gcc/tree-sra.c.jj 2010-05-13 13:08:52.000000000 +0200
|
||||||
|
+++ gcc/tree-sra.c 2010-07-06 19:50:09.000000000 +0200
|
||||||
|
@@ -2211,7 +2211,10 @@ sra_build_assignment (tree dst, tree src
|
||||||
|
|
||||||
|
/* Perform sign extension, if required.
|
||||||
|
??? This should never be necessary. */
|
||||||
|
- if (!unsignedp)
|
||||||
|
+ if (!unsignedp
|
||||||
|
+ && (TREE_INT_CST_LOW (width) != TYPE_PRECISION (utype)
|
||||||
|
+ || (TREE_INT_CST_LOW (width)
|
||||||
|
+ != GET_MODE_BITSIZE (TYPE_MODE (utype)))))
|
||||||
|
{
|
||||||
|
tree signbit = int_const_binop (LSHIFT_EXPR,
|
||||||
|
build_int_cst_wide (utype, 1, 0),
|
||||||
|
--- gcc/testsuite/gcc.c-torture/execute/20100707-1.c 2010-05-27 15:41:40.446237053 +0200
|
||||||
|
+++ gcc/testsuite/gcc.c-torture/execute/20100707-1.c 2010-07-06 13:55:35.000000000 +0200
|
||||||
|
@@ -0,0 +1,50 @@
|
||||||
|
+struct S { int s; };
|
||||||
|
+struct T { int w; int h; };
|
||||||
|
+int vr;
|
||||||
|
+
|
||||||
|
+inline struct T
|
||||||
|
+bar (const struct S * x)
|
||||||
|
+{
|
||||||
|
+ struct T t;
|
||||||
|
+ t.w = vr;
|
||||||
|
+ t.h = x->s;
|
||||||
|
+ return t;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+__attribute__ ((noinline))
|
||||||
|
+void foo (struct S * w, unsigned char *x, int y, int *z[2])
|
||||||
|
+{
|
||||||
|
+ struct T t;
|
||||||
|
+ int i, j, k;
|
||||||
|
+ t = bar (w);
|
||||||
|
+ k = t.w + 2;
|
||||||
|
+ for (i = 0; i <= t.h; i++)
|
||||||
|
+ {
|
||||||
|
+ int *u = z[i > 0] + 1;
|
||||||
|
+ unsigned char *v;
|
||||||
|
+ int q = 0;
|
||||||
|
+ v = x + k * i + 1;
|
||||||
|
+ for (j = 0; j < t.w; j++)
|
||||||
|
+ {
|
||||||
|
+ int m = u[j];
|
||||||
|
+ if (m > y && !q && v[j - k] != 2)
|
||||||
|
+ v[j] = 0;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+unsigned char b[64];
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+main (void)
|
||||||
|
+{
|
||||||
|
+ int v[32], *z[2];
|
||||||
|
+ struct S s;
|
||||||
|
+ __builtin_memset (v, 0, sizeof (v));
|
||||||
|
+ vr = 16;
|
||||||
|
+ s.s = 16;
|
||||||
|
+ z[0] = v;
|
||||||
|
+ z[1] = v;
|
||||||
|
+ foo (&s, b + 32, -1, z);
|
||||||
|
+ return 0;
|
||||||
|
+}
|
@ -6,7 +6,7 @@
|
|||||||
;;
|
;;
|
||||||
-sparc-*-linux*) # SPARC's running GNU/Linux, libc6
|
-sparc-*-linux*) # SPARC's running GNU/Linux, libc6
|
||||||
+sparc-*-linux* | sparcv9*-*-linux*) # SPARC's running GNU/Linux, libc6
|
+sparc-*-linux* | sparcv9*-*-linux*) # SPARC's running GNU/Linux, libc6
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h"
|
||||||
extra_options="${extra_options} sparc/long-double-switch.opt"
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
||||||
tmake_file="${tmake_file} sparc/t-linux"
|
tmake_file="${tmake_file} sparc/t-linux"
|
||||||
@@ -2287,7 +2287,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
|
@@ -2287,7 +2287,7 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*
|
||||||
@ -15,7 +15,7 @@
|
|||||||
;;
|
;;
|
||||||
-sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
|
-sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
|
||||||
+sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux
|
+sparc64*-*-linux*) # 64-bit SPARC's running GNU/Linux
|
||||||
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h sparc/linux64.h"
|
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/gas.h linux.h sparc/linux64.h"
|
||||||
extra_options="${extra_options} sparc/long-double-switch.opt"
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
||||||
tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
|
tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
|
||||||
--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
|
--- libgcc/config.host.jj 2008-04-24 15:46:19.000000000 -0500
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2010-04-27 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* unwind-dw2.c (_Unwind_DebugHook): Add used attribute.
|
||||||
|
|
||||||
2009-05-27 Tom Tromey <tromey@redhat.com>
|
2009-05-27 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* unwind-dw2.c (_Unwind_DebugHook): New function.
|
* unwind-dw2.c (_Unwind_DebugHook): New function.
|
||||||
@ -5,11 +9,12 @@
|
|||||||
|
|
||||||
--- gcc/unwind-dw2.c (revision 147933)
|
--- gcc/unwind-dw2.c (revision 147933)
|
||||||
+++ gcc/unwind-dw2.c (revision 147934)
|
+++ gcc/unwind-dw2.c (revision 147934)
|
||||||
@@ -1473,18 +1473,31 @@ uw_init_context_1 (struct _Unwind_Contex
|
@@ -1473,18 +1473,32 @@ uw_init_context_1 (struct _Unwind_Contex
|
||||||
context->ra = __builtin_extract_return_addr (outer_ra);
|
context->ra = __builtin_extract_return_addr (outer_ra);
|
||||||
}
|
}
|
||||||
|
|
||||||
+static void _Unwind_DebugHook (void *, void *) __attribute__ ((__noinline__));
|
+static void _Unwind_DebugHook (void *, void *)
|
||||||
|
+ __attribute__ ((__noinline__, __used__));
|
||||||
+
|
+
|
||||||
+/* This function is called during unwinding. It is intended as a hook
|
+/* This function is called during unwinding. It is intended as a hook
|
||||||
+ for a debugger to intercept exceptions. CFA is the CFA of the
|
+ for a debugger to intercept exceptions. CFA is the CFA of the
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
gcc-4_4_0-0_3:HEAD:gcc-4.4.0-0.3.src.rpm:1232130841
|
gcc-4_4_0-0_3:HEAD:gcc-4.4.0-0.3.src.rpm:1232130841
|
||||||
gcc-4_4_0-5:HEAD:gcc-4.4.0-5.src.rpm:1242291126
|
gcc-4_4_0-5:HEAD:gcc-4.4.0-5.src.rpm:1242291126
|
||||||
|
gcc-4_4_3-5_fc13:F-12:gcc-4.4.3-5.fc13.src.rpm:1265659645
|
||||||
|
Loading…
Reference in New Issue
Block a user