[Fwd: [Fwd: [PATCH] cr16-elf: position independent code (PIC) support]]

M R Swami Reddy MR.Swami.Reddy@nsc.com
Tue Nov 25 13:35:00 GMT 2008


Hello Nick,

Updated patch as per comments. Could you please review the updated patch.

ChangeLog:
gas/ChangeLog:
2008-11-25  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

	 * doc/c-cr16.texi (cr16-operand specifiers): Add got/GOT and cgot/cGOT.
===
include/elf/ChangeLog
2008-11-25  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

         * cr16.h (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and
         R_CR16_GLOB_DAT): New relocations.
====

bfd/ChangeLog:
2008-11-25  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
	* elf32-cr16.c:  Comment typo and style fix.
===

Test results:

 > make check-gas
=====
                  === gas Summary ===

# of expected passes            135
../as-new 2.19.50.20081124
====

 > make check-binutils
==
                  === binutils Summary ===

# of expected passes            54
# of untested testcases         6
# of unsupported tests          1
====

Thanks
Swami

-------- Original Message --------
Subject: [Fwd: [PATCH]  cr16-elf: position independent code  (PIC) support]
Date: Tue, 25 Nov 2008 15:23:51 +0530
From: M R Swami Reddy <MR.Swami.Reddy@nsc.com>
To: binutils@sources.redhat.com <binutils@sources.redhat.com>

Hello,

After the patch, "gas" and "binutils" test results are:

  > make check-gas
=====
                  === gas Summary ===

# of expected passes            135
../as-new 2.19.50.20081124
====

  > make check-binutils
==
                  === binutils Summary ===

# of expected passes            54
# of untested testcases         6
# of unsupported tests          1
====

Thanks
Swami
-------- Original Message --------
Subject: [PATCH]  cr16-elf: position independent code  (PIC) support
Date: Tue, 25 Nov 2008 13:55:53 +0530
From: M R Swami Reddy <MR.Swami.Reddy@nsc.com>
To: binutils@sourceware.org, Nick Clifton <nickc@redhat.com>

Hello,
Patch to add PIC support in binutils tools for cr16 target.
Could you please review the patch.

bfd/ChangeLog:
2008-11-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>

            * Add PIC support for CR16 target.
            * elf32-cr16.c (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and
            R_CR16_GLOB_DAT): New macros
            (cr16_elf_howto_table): Add entries for for R_CR16_GOT_REGREL20,
            R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT.
            (cr16_reloc_map): Ditto
            (_bfd_cr16_elf_create_got_section): New function to create GOT section.
            (_bfd_cr16_elf_create_dynamic_sections): New function to create dynamic
            section.
            (_bfd_cr16_elf_adjust_dynamic_symbol): New function to adjust symbol
            defined by dynamic object.
            (_bfd_cr16_elf_size_dynamic_sections): New function to find the size
            of dynamic section.
            (_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic
            symbols.
            (_bfd_cr16_elf_finish_dynamic_symbol): New function to handle dynamic
            sections.
            (bfd_cr16_elf32_create_embedded_relocs): New function to create
            embedded relocs in .emreloc section in memory for .data.rel section.
            (_bfd_cr16_elf_reloc_type_class): New function for classify reloc types.
            (cr16_elf_check_relocs): New function for checking reloc types in
            first phase.
            (cr16_elf_final_link_relocate): Update for handling the new reloc
            types R_CR16_GOT_REGREL20 and R_CR16_GOTC_REGREL20.
            (elf32_cr16_relax_section): Update relax implementation.
            * reloc.c (bfd_reloc_code_type): Add entries for R_CR16_GOT_REGREL20,
            R_CR16_GOTC_REGREL20 and R_CR16_GLOB_DAT.
            * bfd-in.h (bfd_boolean bfd_cr16_elf32_create_embedded_relocs): Declared
            * libbfd.h, bfd-in2.h: Regenerate.
===
gas/ChangeLog:
2008-11-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>

            * config/tc-cr16.h (GLOBAL_OFFSET_TABLE_NAME): Defined
            * config/tc-cr16.c (md_pseudo_table): Add "4byte" directive to
            md_pseudo_table and accept @c prefix, same as long directive.
            (cr16_cons_fix_new): Initialize rtype to BFD_RELOC_UNUSED.
            config/tc-cr16.c (tc_gen_reloc): Declare a variable of type
            bfd_reloc_code_real_type and set it for GOT related relocations.
            (md_undefined_symbol): Defined
            (process_label_constant): Added checks for GOT/got and cGOT/cGOT
            prefixes with constant label and set the appropriate relocation type.
	* NEWS: Add cr16 target PIC support.
======
gas/testsuite/ChangeLog:
2008-11-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>

            * gas/cr16/pic1.s: New.
            * gas/cr16/pic1.d: New.
            * gas/cr16/pic2.s: New.
            * gas/cr16/pic2.d: New.
            * gas/cr16/pic.exp: Run pic tests.
====
include/elf/ChangeLog:
2008-11-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>

            * cr16.h (R_CR16_GOT_REGREL20, R_CR16_GOTC_REGREL20 and
            R_CR16_GLOB_DAT): New relocations.
===
opcodes/ChangeLog:

            * cr16-dis.c (match_opcode): Truncate mcode to 32 bit and
            adjusted the mask for 32-bit branch instruction.
===

ld/ChanegeLog:
==
2008-11-25 M R Swami Reddy <MR.Swami.Reddy@nsc.com>

            * emultempl/cr16elf.em (cr16_after_open): New function to handle
            CR16 ELF embedded reloc creation (ld --embedded-relocs).
            (check_sections): New function.
            (LDEMUL_AFTER_OPEN): Define.
            * emulparams/elf32cr16.sh (EMBEDDED): Define.
	* NEWS: Add comment.
======

NOTE: The above patch includes a few bug fixes also.

Thanks
Swami



-------------- next part --------------
A non-text attachment was scrubbed...
Name: c-cr16.texi.dif
Type: video/x-dv
Size: 1680 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20081125/9b750e50/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cr16.h.dif
Type: video/x-dv
Size: 602 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20081125/9b750e50/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: elf32-cr16.c.dif
Type: video/x-dv
Size: 75661 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20081125/9b750e50/attachment-0002.bin>


More information about the Binutils mailing list