From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24192 invoked by alias); 6 Jan 2013 20:32:32 -0000 Received: (qmail 24184 invoked by uid 22791); 6 Jan 2013 20:32:31 -0000 X-SWARE-Spam-Status: No, hits=-3.8 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FB_GET_MEDS,FREEMAIL_FROM,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-oa0-f44.google.com (HELO mail-oa0-f44.google.com) (209.85.219.44) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 06 Jan 2013 20:32:23 +0000 Received: by mail-oa0-f44.google.com with SMTP id n5so16993475oag.17 for ; Sun, 06 Jan 2013 12:32:23 -0800 (PST) MIME-Version: 1.0 Received: by 10.182.95.133 with SMTP id dk5mr43655538obb.14.1357504343101; Sun, 06 Jan 2013 12:32:23 -0800 (PST) Received: by 10.182.153.201 with HTTP; Sun, 6 Jan 2013 12:32:22 -0800 (PST) Date: Sun, 06 Jan 2013 20:32:00 -0000 Message-ID: Subject: Re: [PATCH] Adding target rdos to GCC From: Uros Bizjak To: gcc-patches@gcc.gnu.org Cc: Leif Ekblad , "H.J. Lu" Content-Type: multipart/mixed; boundary=14dae93b62a226d11204d2a49ca9 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2013-01/txt/msg00267.txt.bz2 --14dae93b62a226d11204d2a49ca9 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 1843 Hello! > Updated patches with the suggestions below, except that the initial value is 0 > (which is not meaningful). I also added a setting in rdos target file to use r15 > for PIC instead of rbx. *** gcc-4.8-20121230/gcc/config/i386/i386.c Thu Dec 27 02:58:06 2012 --- gcc-work/gcc/config/i386/i386.c Sun Jan 6 14:10:34 2013 + if (ix86_section_threshold == 0) + ix86_section_threshold = DEFAULT_SECTION_THRESHOLD; Please see attached patch on how to initialize an option. *** gcc-4.8-20121230/gcc/config/i386/i386.h Wed Dec 19 17:04:12 2012 --- gcc-work/gcc/config/i386/i386.h Sun Jan 6 13:24:26 2013 + #define TARGET_MEDIUM_PIC 0 You should just use TARGET_RDOS here (also, please see attached patch). + /* Default threshold for putting data in large sections with x86-64 + medium memory model */ + #define DEFAULT_SECTION_THRESHOLD 65536 Do not put this define in the middle of i386.h section that deals with alignment... *** gcc-4.8-20121230/gcc/config/i386/rdos.h Thu Jan 1 01:00:00 1970 --- gcc-work/gcc/config/i386/rdos.h Sun Jan 6 13:20:12 2013 + #undef REAL_PIC_OFFSET_TABLE_REGNUM + #define REAL_PIC_OFFSET_TABLE_REGNUM R15_REG Is this header also used for 32bit target? You should not use REX registers for 32bit targets. + #undef TARGET_MEDIUM_PIC + #define TARGET_MEDIUM_PIC 1 TARGET_RDOS + #define DEFAULT_SECTION_THRESHOLD 0x10 No hex numbers here. Also, you will need to #undef this first to override the default in i386.h. *** gcc-4.8-20121230/gcc/config.gcc Thu Nov 22 00:33:40 2012 --- gcc-work/gcc/config.gcc Fri Jan 4 21:08:46 2013 + i[34567]86-*-rdos*) + tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h" + ;; You forgot to include i386/rdos.h here (other headers too?). It is needed at least for TARGET_EXECUTABLE_SUFFIX define. Uros. --14dae93b62a226d11204d2a49ca9 Content-Type: text/plain; charset=US-ASCII; name="r.diff.txt" Content-Disposition: attachment; filename="r.diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hbmmyco70 Content-length: 2363 SW5kZXg6IGkzODYuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBpMzg2 LmMJKHJldmlzaW9uIDE5NDk0NSkKKysrIGkzODYuYwkod29ya2luZyBjb3B5 KQpAQCAtMzIzOSw2ICszMjM5LDggQEAKIAkgRExMLCBhbmQgaXMgZXNzZW50 aWFsbHkganVzdCBhcyBlZmZpY2llbnQgYXMgZGlyZWN0IGFkZHJlc3Npbmcu ICAqLwogICAgICAgaWYgKFRBUkdFVF82NEJJVCAmJiBERUZBVUxUX0FCSSA9 PSBNU19BQkkpCiAJaXg4Nl9jbW9kZWwgPSBDTV9TTUFMTF9QSUMsIGZsYWdf cGljID0gMTsKKyAgICAgIGVsc2UgaWYgKFRBUkdFVF82NEJJVCAmJiBUQVJH RVRfUkRPUykKKwlpeDg2X2Ntb2RlbCA9IENNX01FRElVTV9QSUMsIGZsYWdf cGljID0gMTsKICAgICAgIGVsc2UgaWYgKFRBUkdFVF82NEJJVCkKIAlpeDg2 X2Ntb2RlbCA9IGZsYWdfcGljID8gQ01fU01BTExfUElDIDogQ01fU01BTEw7 CiAgICAgICBlbHNlCkluZGV4OiBpMzg2LmgKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gaTM4Ni5oCShyZXZpc2lvbiAxOTQ5NDUpCisrKyBpMzg2LmgJ KHdvcmtpbmcgY29weSkKQEAgLTUxOSw2ICs1MTksOSBAQAogI2RlZmluZSBN QUNIT1BJQ19JTkRJUkVDVCAwCiAjZGVmaW5lIE1BQ0hPUElDX1BVUkUgMAog CisvKiBGb3IgdGhlIFJET1MgICovCisjZGVmaW5lIFRBUkdFVF9SRE9TIDAK KwogLyogRm9yIHRoZSBXaW5kb3dzIDY0LWJpdCBBQkkuICAqLwogI2RlZmlu ZSBUQVJHRVRfNjRCSVRfTVNfQUJJIChUQVJHRVRfNjRCSVQgJiYgaXg4Nl9j ZnVuX2FiaSAoKSA9PSBNU19BQkkpCiAKQEAgLTIwODEsNiArMjA4NCwxMCBA QAogICAgYXNtIChTRUNUSU9OX09QICJcblx0IgkJCQkJXAogCSJjYWxsICIg Q1JUX01LU1RSKF9fVVNFUl9MQUJFTF9QUkVGSVhfXykgI0ZVTkMgIlxuIglc CiAJVEVYVF9TRUNUSU9OX0FTTV9PUCk7CisKKy8qIERlZmF1bHQgdGhyZXNo b2xkIGZvciBwdXR0aW5nIGRhdGEgaW4gbGFyZ2Ugc2VjdGlvbnMKKyAgIHdp dGggeDg2LTY0IG1lZGl1bSBtZW1vcnkgbW9kZWwgKi8KKyNkZWZpbmUgREVG QVVMVF9MQVJHRV9TRUNUSU9OX1RIUkVTSE9MRCA2NTUzNgogDAogLyogV2hp Y2ggcHJvY2Vzc29yIHRvIHR1bmUgY29kZSBnZW5lcmF0aW9uIGZvci4gICov CiAKSW5kZXg6IGkzODYub3B0Cj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGkzODYub3B0CShyZXZpc2lvbiAxOTQ5NDUpCisrKyBpMzg2Lm9wdAkod29y a2luZyBjb3B5KQpAQCAtMTQxLDcgKzE0MSw3IEBACiBCcmFuY2hlcyBhcmUg dGhpcyBleHBlbnNpdmUgKDEtNSwgYXJiaXRyYXJ5IHVuaXRzKQogCiBtbGFy Z2UtZGF0YS10aHJlc2hvbGQ9Ci1UYXJnZXQgUmVqZWN0TmVnYXRpdmUgSm9p bmVkIFVJbnRlZ2VyIFZhcihpeDg2X3NlY3Rpb25fdGhyZXNob2xkKSBJbml0 KDY1NTM2KQorVGFyZ2V0IFJlamVjdE5lZ2F0aXZlIEpvaW5lZCBVSW50ZWdl ciBWYXIoaXg4Nl9zZWN0aW9uX3RocmVzaG9sZCkgSW5pdChERUZBVUxUX0xB UkdFX1NFQ1RJT05fVEhSRVNIT0xEKQogRGF0YSBncmVhdGVyIHRoYW4gZ2l2 ZW4gdGhyZXNob2xkIHdpbGwgZ28gaW50byAubGRhdGEgc2VjdGlvbiBpbiB4 ODYtNjQgbWVkaXVtIG1vZGVsCiAKIG1jbW9kZWw9Cg== --14dae93b62a226d11204d2a49ca9--