FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian GCC

 
 
LinkBack Thread Tools
 
Old 07-01-2011, 09:34 PM
Thorsten Glaser
 
Default Bug#632380: gcc-4.6: please add m68k support

Source: gcc-4.6
Version: 4.6.1-1
Severity: wishlist
Tags: patch

Hi,

as promised I’ve ported what was still in src:gcc-4.4 regarding
m68k support and related fixes to gcc-4.6. The package with this
patch applied builds on amd64 both natively¹ and as a crosscompiler,
the m68k native build will take a few days as usual. The multiarch
selection² has been fixed upstream³, and all but one of the pr*.diff
are also merged already.

I’ve done some rudimentary testing: cross-built mksh (statically
and dynamically linked) and ran its own testsuite on an m68k sy-
stem, which passed with 0 errors each. So this is at least not
worse than the current state, and please include it in the next
upload.

bye,
//mirabilos

* Package build aborted though due to running out of disc space
in the testsuite… but then, none of the changes should touch
the amd64 native build parts.

② Although I wonder why we build the multilib stuff at all, you
told me to not disable it, but I can’t find the 68040/68060
optimised target libraries in the .deb packages… so they just
take up compile time at the moment.

③ Turns out my old m68k-multilib patch was indeed correct, and
the cpu32 and fidoa targets were incorrectly marked as having
an MMU in gcc-4.4 (they fixed that instead so the selection
was fine again).
--
08:05⎜<XTaran:#grml> mika: Does grml have an tool to read Apple
⎜ System Log (asl) files?
08:08⎜<ft:#grml> yeah. /bin/rm. 08:09⎜<mrud:#grml> hexdump -C
08:31⎜<XTaran:#grml> ft, mrud: *g*Changes to generated files (d/r control) omitted.

--- gcc-4.6-4.6.1/debian/rules.patch
+++ gcc-4.6-4.6.1/debian/rules.patch
@@ -64,7 +64,6 @@
alpha-no-ev4-directive
boehm-gc-getnprocs
note-gnu-stack
- m68k-allow-gnu99
libgomp-omp_h-multilib
sparc-force-cpu
pr24619
@@ -76,6 +75,7 @@
$(if $(with_linaro_branch),,gcc-dw2-loc-tracking)
mudflap-varargs
pr45078
+ pr43804

# libstdc++-nothumb-check
# TODO: update
--- gcc-4.6-4.6.1/debian/rules.defs
+++ gcc-4.6-4.6.1/debian/rules.defs
@@ -1176,7 +1176,7 @@

# GNU locales
force_gnu_locales := yes
-locale_no_cpus := m68k
+locale_no_cpus :=
locale_no_systems := knetbsd-gnu
ifneq (,$(findstring $(DEB_TARGET_GNU_SYSTEM),$(locale_no_systems)))
force_gnu_locales := disabled for system $(DEB_TARGET_GNU_SYSTEM)
--- gcc-4.6-4.6.1/debian/changelog
+++ gcc-4.6-4.6.1/debian/changelog
@@ -1,3 +1,15 @@
+gcc-4.6 (4.6.1-1+m68k.1) unreleased; urgency=low
+
+ [ Thorsten Glaser ]
+ * Apply changes from src:gcc-4.4 for m68k support:
+ - debian/rules.defs: Remove m68k from locale_no_cpus.
+ - debian/patches/gcc-multiarch.diff: Add m68k multiarch_mappings.
+ - debian/patches/m68k-allow-gnu99.diff: Drop, we have eglibc now.
+ - debian/patches/pr43804.diff: Fix backported from SVN.
+ - debian/rules.patch: Add pr43804 and drop m68k-allow-gnu99.
+
+ -- Thorsten Glaser <tg@mirbsd.de> Fri, 01 Jul 2011 18:39:11 +0000
+
gcc-4.6 (4.6.1-1) unstable; urgency=low

* GCC 4.6.1 release.
--- gcc-4.6-4.6.1/debian/patches/gcc-multiarch.diff
+++ gcc-4.6-4.6.1/debian/patches/gcc-multiarch.diff
@@ -7,6 +7,9 @@
# DP: /usr/lib/<arch>-linux-gnu
# DP: to the system paths.

+2011-07-01 Thorsten Glaser <tg@debian.org>
+ * Add m68k multiarch_mappings
+
2011-03-08 Steve Langasek <steve.langasek@linaro.org>
* Canonicalize x86 to i386 everywhere, not i486/i686

@@ -262,7 +265,7 @@
this architecture. */
--- a/src/gcc/multiarch.h
+++ b/src/gcc/multiarch.h
-@@ -0,0 +1,95 @@
+@@ -0,0 +1,101 @@
+/* Header for multiarch handling (include directories, libraries path).
+ Copyright (C) 2009 Free Software Foundation, Inc.
+ Contributed by Arthur Loiret <aloiret@debian.org>
@@ -336,6 +339,12 @@
+ { "m4", "sh4-linux-gnu" },
+ { "m4-nofpu", "sh4_nofpu-linux-gnu" },
+# endif
++# if defined(__m68k_linux_gnu__)
++ { "m68040", "m68040-linux-gnu" },
++ { "m68060", "m68060-linux-gnu" },
++ { "mcpu32", "m68360-linux-gnu" },
++ { "mfidoa", "fido-linux-gnu" },
++# endif
+#endif /* ENABLE_MULTIARCH */
+ { 0, 0 }
+};
reverted:
--- gcc-4.6-4.6.1/debian/patches/m68k-allow-gnu99.diff
+++ gcc-4.6-4.6.1.orig/debian/patches/m68k-allow-gnu99.diff
@@ -1,30 +0,0 @@
-# DP: patch to allow gnu99 mode on m68k
-
-On m68k, gnu99 mode doesn't work correctly out of the box due to our
-woefully outdated glibc (we're currently stuck at 2.5-1). This is
-because the inline schematics changed between glibc 2.5 and 2.7, and
-gcc 4.2 to 4.3. This patch configures the built in spec file to pass
--fgnu89-inline, and thus allowing proper compilation and linking with
-the older glibc on m68k. This patch should not be merged upstream, and
-it should be removed once a newer glibc is available for our
-architecture.
-
----
- gcc/config/m68k/linux.h | 6 ++++++
- 1 files changed, 6 insertions(+), 0 deletions(-)
-
---- a/src/gcc/config/m68k/linux.h
-+++ b/src/gcc/config/m68k/linux.h
-@@ -36,6 +36,12 @@
- #undef M68K_HONOR_TARGET_STRICT_ALIGNMENT
- #define M68K_HONOR_TARGET_STRICT_ALIGNMENT 0
-
-+/* on m68k, we always need to use gnu89 inlining because we're
-+ still limited to glibc 2.5. This should be removed after
-+ a newer glibc is available */
-+#undef CC1_SPEC
-+#define CC1_SPEC "%{profile:-p} %{std=gnu99:-fgnu89-inline}"
-+
- /* Here are four prefixes that are used by asm_fprintf to
- facilitate customization for alternate assembler syntaxes.
- Machines with no likelihood of an alternate syntax need not
--- gcc-4.6-4.6.1.orig/debian/patches/pr43804.diff
+++ gcc-4.6-4.6.1/debian/patches/pr43804.diff
@@ -0,0 +1,22 @@
+# DP: Fix for PR target/43804 backported from SVN
+
+2011-04-24 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/43804
+ * config/m68k/constraints.md (T): Allow PIC operands that satisfy
+ LEGITIMATE_PIC_OPERAND_P.
+
+Index: gcc/config/m68k/constraints.md
+================================================= ==================
+--- a/src/gcc/config/m68k/constraints.md (revision 172919)
++++ b/src/gcc/config/m68k/constraints.md (revision 172920)
+@@ -94,7 +94,8 @@
+ (define_constraint "T"
+ "Used for operands that satisfy 's' when -mpcrel is not in effect."
+ (and (match_code "symbol_ref,label_ref,const")
+- (match_test "!flag_pic")))
++ (match_test "!TARGET_PCREL")
++ (match_test "!flag_pic || LEGITIMATE_PIC_OPERAND_P (op)")))
+
+ (define_memory_constraint "Q"
+ "Means address register indirect addressing mode."
 
Old 07-04-2011, 08:12 AM
Thorsten Glaser
 
Default Bug#632380: gcc-4.6: please add m68k support

Thorsten Glaser dixit:

>So this is at least not
>worse than the current state, and please include it in the next
>upload.

Well, it built, and I uploaded it to debian-ports.org unreleased,
so please, everyone who can, test it.

+ 158 Jul 4 Debian Ports Archive Maintai (2174) gcc-4.6_4.6.1-1+m68k.1_m68k.changes ACCEPTED

It will probably take me 2 days before I can do so myself.

bye,
//mirabilos
--
Support mksh as /bin/sh and RoQA dash NOW!
‣ src:bash (256 (275) bugs: 0 RC, 177 (192) I&N, 79 (83) M&W, 0 F&P)
‣ src:dash (81 (89) bugs: 3 RC, 43 (46) I&N, 35 (40) M&W, 0 F&P)
‣ src:mksh (2 bugs: 0 RC, 0 I&N, 2 M&W, 0 F&P)



--
To UNSUBSCRIBE, email to debian-gcc-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: Pine.BSM.4.64L.1107040759560.20911@herc.mirbsd.org ">http://lists.debian.org/Pine.BSM.4.64L.1107040759560.20911@herc.mirbsd.org
 

Thread Tools




All times are GMT. The time now is 08:31 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org