* PATCH FIX PR34210,35508 : Missing HI mode libgcc functions
@ 2008-03-23 1:27 Andy H
2008-03-23 4:20 ` Weddington, Eric
2008-03-23 5:16 ` Weddington, Eric
0 siblings, 2 replies; 5+ messages in thread
From: Andy H @ 2008-03-23 1:27 UTC (permalink / raw)
To: gcc-patches, rask; +Cc: Weddington, Eric, Anatoly Sokolov
[-- Attachment #1: Type: text/plain, Size: 850 bytes --]
The attached patch creates 16bit libgcc functions currently missing for
AVR target.
_absvhi2 _addvhi3 _subvhi3 _mulvhi3 _negvhi2 _ffshi2 _clzhi2
_ctzhi2 _popcounthi2 _parityhi2
The method used is to compile libgcc using siditi-object.mk to define
LIBGCC2_UNITS_PER_WORD=2.
- as described by /Rask Ingemann Lambertsen in PR34210
/The patch creates libgcc/config/avr/t-avr, and modfies config.host to
include this fragment during libgcc build for avr target.
The patch resolves several testsuite FAILS caused by the missing
functions and the following PR's
/http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34210
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35508
Bootstrapped AVR target c,c++ on i686-pc-linux and i686-pc-cygwin
PLEASE let me know if there are additional maintainers that I should
ask for approval of this patch
Andy
/
[-- Attachment #2: libgcc16.patch --]
[-- Type: text/plain, Size: 2089 bytes --]
Index: config.host
===================================================================
--- config.host (revision 132947)
+++ config.host (working copy)
@@ -77,6 +77,9 @@
arm*-*-*)
cpu_type=arm
;;
+avr-*-*)
+ cpu_type=avr
+ ;;
bfin*-*)
cpu_type=bfin
;;
@@ -243,6 +246,8 @@
avr-*-rtems*)
;;
avr-*-*)
+ # Make HImode functions for AVR
+ tmake_file=${cpu_type}/t-avr
;;
bfin*-elf*)
;;
Index: config/avr/t-avr
===================================================================
--- config/avr/t-avr (revision 0)
+++ config/avr/t-avr (revision 0)
@@ -0,0 +1,19 @@
+# Extra 16-bit integer functions.
+intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _ffsXX2 _clzXX2 \
+ _ctzXX2 _popcountXX2 _parityXX2
+hiintfuncs16 = $(subst XX,hi,$(intfuncs16))
+siintfuncs16 = $(subst XX,si,$(intfuncs16))
+
+iter-items := $(hiintfuncs16)
+iter-labels := $(siintfuncs16)
+iter-sizes := $(patsubst %,2,$(siintfuncs16)) $(patsubst %,2,$(hiintfuncs16))
+
+
+include $(srcdir)/empty.mk $(patsubst %,$(srcdir)/siditi-object.mk,$(iter-items))
+libgcc-objects += $(patsubst %,%$(objext),$(hiintfuncs16))
+
+ifeq ($(enable_shared),yes)
+libgcc-s-objects += $(patsubst %,%_s$(objext),$(hiintfuncs16))
+endif
+
+
Index: config/avr/t-avr
===================================================================
--- config/avr/t-avr (revision 0)
+++ config/avr/t-avr (revision 0)
@@ -0,0 +1,19 @@
+# Extra 16-bit integer functions.
+intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _ffsXX2 _clzXX2 \
+ _ctzXX2 _popcountXX2 _parityXX2
+hiintfuncs16 = $(subst XX,hi,$(intfuncs16))
+siintfuncs16 = $(subst XX,si,$(intfuncs16))
+
+iter-items := $(hiintfuncs16)
+iter-labels := $(siintfuncs16)
+iter-sizes := $(patsubst %,2,$(siintfuncs16)) $(patsubst %,2,$(hiintfuncs16))
+
+
+include $(srcdir)/empty.mk $(patsubst %,$(srcdir)/siditi-object.mk,$(iter-items))
+libgcc-objects += $(patsubst %,%$(objext),$(hiintfuncs16))
+
+ifeq ($(enable_shared),yes)
+libgcc-s-objects += $(patsubst %,%_s$(objext),$(hiintfuncs16))
+endif
+
+
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: PATCH FIX PR34210,35508 : Missing HI mode libgcc functions
2008-03-23 1:27 PATCH FIX PR34210,35508 : Missing HI mode libgcc functions Andy H
@ 2008-03-23 4:20 ` Weddington, Eric
2008-03-23 5:16 ` Weddington, Eric
1 sibling, 0 replies; 5+ messages in thread
From: Weddington, Eric @ 2008-03-23 4:20 UTC (permalink / raw)
To: Andy H, gcc-patches, rask; +Cc: Anatoly Sokolov, Denis Chertykov
> -----Original Message-----
> From: Andy H [mailto:hutchinsonandy@aim.com]
> Sent: Saturday, March 22, 2008 6:23 PM
> To: gcc-patches@gcc.gnu.org; rask@gcc.gnu.org
> Cc: Weddington, Eric; Anatoly Sokolov
> Subject: PATCH FIX PR34210,35508 : Missing HI mode libgcc functions
>
> The attached patch creates 16bit libgcc functions currently
> missing for
> AVR target.
>
> The patch resolves several testsuite FAILS caused by the missing
> functions and the following PR's
>
> /http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34210
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35508
>
> Bootstrapped AVR target c,c++ on i686-pc-linux and i686-pc-cygwin
>
> PLEASE let me know if there are additional maintainers that I should
> ask for approval of this patch
Hi Andy,
Thanks for doing this. Don't forget your ChangeLog entry.
Anatoly, Denis, can you start taking a look at Andy's patches so we can
get his many bug fixes committed?
Thanks,
Eric Weddington
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: PATCH FIX PR34210,35508 : Missing HI mode libgcc functions
2008-03-23 1:27 PATCH FIX PR34210,35508 : Missing HI mode libgcc functions Andy H
2008-03-23 4:20 ` Weddington, Eric
@ 2008-03-23 5:16 ` Weddington, Eric
2008-03-23 7:05 ` Andy H
1 sibling, 1 reply; 5+ messages in thread
From: Weddington, Eric @ 2008-03-23 5:16 UTC (permalink / raw)
To: Andy H, gcc-patches, rask; +Cc: Anatoly Sokolov
> -----Original Message-----
> From: Andy H [mailto:hutchinsonandy@aim.com]
> Sent: Saturday, March 22, 2008 6:23 PM
> To: gcc-patches@gcc.gnu.org; rask@gcc.gnu.org
> Cc: Weddington, Eric; Anatoly Sokolov
> Subject: PATCH FIX PR34210,35508 : Missing HI mode libgcc functions
>
> The attached patch creates 16bit libgcc functions currently
> missing for
> AVR target.
>
Hi Andy,
A couple of problems with your patch:
- It is trying to patch config.host, but the patch was not done from the
top level directory. This leaves it open for ambiguity as there is a
config.host in /libgcc and /gcc.
- The patch is attempting to create config/avr/t-avr twice. Again this
patch was not created from the top-level directory, so I can only assume
you meant libgcc/config/avr/t-avr.
Could you generate the patch from the top-level directory, and make sure
there are no duplicates?
Thanks,
Eric Weddington
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: PATCH FIX PR34210,35508 : Missing HI mode libgcc functions
2008-03-23 5:16 ` Weddington, Eric
@ 2008-03-23 7:05 ` Andy H
2008-03-30 19:38 ` [PING] " Andy H
0 siblings, 1 reply; 5+ messages in thread
From: Andy H @ 2008-03-23 7:05 UTC (permalink / raw)
To: Weddington, Eric, gcc-patches; +Cc: rask
[-- Attachment #1: Type: text/plain, Size: 419 bytes --]
Thanks Eric
The duplication seems to be a bug in Tortoise SVN.
I edited out the second copy and now it is referenced from TOP directory.
Change log entry below, but Rask can take credit for the clever part!
2008-03-22 Andy Hutchinson <hutchinsonandy@aim.com>
PR target/34210, 35508
* config.host (avr-*-*): Add avr cpu_type and avr tmake_file.
* config/t-avr: Build 16bit libgcc functions.
Andy
[-- Attachment #2: libgcc16fx.patch --]
[-- Type: text/plain, Size: 1299 bytes --]
Index: libgcc/config.host
===================================================================
--- libgcc/config.host (revision 132947)
+++ libgcc/config.host (working copy)
@@ -77,6 +77,9 @@
arm*-*-*)
cpu_type=arm
;;
+avr-*-*)
+ cpu_type=avr
+ ;;
bfin*-*)
cpu_type=bfin
;;
@@ -243,6 +246,8 @@
avr-*-rtems*)
;;
avr-*-*)
+ # Make HImode functions for AVR
+ tmake_file=${cpu_type}/t-avr
;;
bfin*-elf*)
;;
Index: libgcc/config/avr/t-avr
===================================================================
--- libgcc/config/avr/t-avr (revision 0)
+++ libgcc/config/avr/t-avr (revision 0)
@@ -0,0 +1,19 @@
+# Extra 16-bit integer functions.
+intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _ffsXX2 _clzXX2 \
+ _ctzXX2 _popcountXX2 _parityXX2
+hiintfuncs16 = $(subst XX,hi,$(intfuncs16))
+siintfuncs16 = $(subst XX,si,$(intfuncs16))
+
+iter-items := $(hiintfuncs16)
+iter-labels := $(siintfuncs16)
+iter-sizes := $(patsubst %,2,$(siintfuncs16)) $(patsubst %,2,$(hiintfuncs16))
+
+
+include $(srcdir)/empty.mk $(patsubst %,$(srcdir)/siditi-object.mk,$(iter-items))
+libgcc-objects += $(patsubst %,%$(objext),$(hiintfuncs16))
+
+ifeq ($(enable_shared),yes)
+libgcc-s-objects += $(patsubst %,%_s$(objext),$(hiintfuncs16))
+endif
+
+
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PING] PATCH FIX PR34210,35508 : Missing HI mode libgcc functions
2008-03-23 7:05 ` Andy H
@ 2008-03-30 19:38 ` Andy H
0 siblings, 0 replies; 5+ messages in thread
From: Andy H @ 2008-03-30 19:38 UTC (permalink / raw)
To: gcc-patches, rguenther; +Cc: Weddington, Eric, rask, ian
The following config.host patch posted on 3/23/2008 has not yet been
reviewed:
FIX PR34210,35508 : Missing HI mode libgcc functions
http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01350.html
Is this ok for mainline?
regards
Andy
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-03-30 17:46 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-23 1:27 PATCH FIX PR34210,35508 : Missing HI mode libgcc functions Andy H
2008-03-23 4:20 ` Weddington, Eric
2008-03-23 5:16 ` Weddington, Eric
2008-03-23 7:05 ` Andy H
2008-03-30 19:38 ` [PING] " Andy H
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).