diff --git a/Makefile.ps3.rgl b/Makefile.ps3.rgl index eaa880a512..95ff79dd3c 100644 --- a/Makefile.ps3.rgl +++ b/Makefile.ps3.rgl @@ -20,7 +20,7 @@ INCDIRS = -I. -Ips3/rgl/include RGL_DIR = ps3/rgl/src -PPU_SRCS = $(RGL_DIR)/libelf/readelf.cpp \ +PPU_SRCS = $(RGL_DIR)/libelf/readelf.c \ $(RGL_DIR)/ps3/rgl_ps3_raster.cpp \ $(RGL_DIR)/ps3/rgl_ps3.cpp diff --git a/ps3/rgl/src/cg/cgbio.hpp b/ps3/rgl/src/cg/cgbio.hpp index e5ed69cf97..722a3ba24a 100644 --- a/ps3/rgl/src/cg/cgbio.hpp +++ b/ps3/rgl/src/cg/cgbio.hpp @@ -32,9 +32,7 @@ enum CGBIO_ERROR { } // cgc namespace #include "cgbi.hpp" -#include "cgbo.hpp" #include "nvbi.hpp" -#include "nvbo.hpp" namespace cgc { namespace bio { @@ -46,10 +44,8 @@ namespace bio { static void delete_instance(); CGBIO_ERROR new_elf_reader( elf_reader** obj ) const; - CGBIO_ERROR new_elf_writer( elf_writer** obj ) const; CGBIO_ERROR new_nvb_reader( nvb_reader** obj ) const; - CGBIO_ERROR new_nvb_writer( nvb_writer** obj ) const; const char *error_string( CGBIO_ERROR error ) const; diff --git a/ps3/rgl/src/cg/cgbo.hpp b/ps3/rgl/src/cg/cgbo.hpp deleted file mode 100644 index b00366e677..0000000000 --- a/ps3/rgl/src/cg/cgbo.hpp +++ /dev/null @@ -1,334 +0,0 @@ -#if !defined(CGC_CGBIO_CGBO_HPP) -#define CGC_CGBIO_CGBO_HPP 1 - -#include -#include -#include - -#include "cgbdefs.hpp" -#include "cgbtypes.h" - -using std::ofstream; -using std::streampos; - -namespace cgc { -namespace bio { - -class osection; - -class elf_writer { - public: - enum PRODUCER - { - CGBO_HASH, - CGBO_STR, - CGBO_SYM, - CGBO_REL, - CGBO_PARAM, - CGBO_CONST, - CGBO_VP, - CGBO_FP - }; - - virtual ~elf_writer() {} - - virtual ptrdiff_t - reference() = 0; - - virtual ptrdiff_t - release() = 0; - - virtual CGBIO_ERROR - save( ofstream& ofs ) = 0; - - virtual CGBIO_ERROR - save( const char* filename ) = 0; - - virtual CGBIO_ERROR - set_attr( unsigned char file_class, - unsigned char endianness, - unsigned char ELFversion, - unsigned char abi, - unsigned char ABIversion, - Elf32_Half type, - Elf32_Half machine, - Elf32_Word version, - Elf32_Word flags ) = 0; - - virtual Elf32_Addr - get_entry() const = 0; - - virtual CGBIO_ERROR - set_entry( Elf32_Addr entry ) = 0; - - virtual unsigned char - endianness() const = 0; - - virtual Elf32_Half - num_of_sections() const = 0; - - virtual osection* - get_section( Elf32_Half index ) const = 0; - - virtual osection* - get_section( const char* name ) const = 0; - - virtual osection* - add_section( const char *name, - Elf32_Word type, - Elf32_Word flags, - Elf32_Word info, - Elf32_Word align, - Elf32_Word esize ) = 0; - - virtual streampos - section_offset( Elf32_Half index ) const = 0; - - virtual CGBIO_ERROR - new_section_out( PRODUCER producer, - osection* sec, - void** obj ) const = 0; -}; // elf_writer interface class - -class osection -{ - public: - virtual ~osection() {} - - virtual ptrdiff_t - reference() = 0; - - virtual ptrdiff_t - release() = 0; - - virtual CGBIO_ERROR - save( ofstream& of, - streampos header, - streampos data) = 0; - - virtual Elf32_Half - index() const = 0; - - virtual const char* - name() const = 0; - - virtual Elf32_Word - type() const = 0; - - virtual Elf32_Word - flags() const = 0; - - virtual Elf32_Word - info() const = 0; - - virtual Elf32_Word - addralign() const = 0; - - virtual Elf32_Word - entsize() const = 0; - - virtual Elf32_Word - size() const = 0; - - virtual Elf32_Word - get_name_index() const = 0; - - virtual void - set_name_index( Elf32_Word index ) = 0; - - virtual Elf32_Addr - get_address() const = 0; - - virtual void - set_address( Elf32_Addr addr ) = 0; - - virtual Elf32_Word - get_link() const = 0; - - virtual void - set_link( Elf32_Word link ) = 0; - - virtual char* - get_data() const = 0; - - virtual CGBIO_ERROR - set_data( const char* data, Elf32_Word size ) = 0; - - virtual CGBIO_ERROR - add_data( const char* data, Elf32_Word size ) = 0; - -}; // osection interface class - - -class ostring_table -{ - public: - virtual ~ostring_table() {} - - virtual ptrdiff_t - reference() = 0; - - virtual ptrdiff_t - release() = 0; - - virtual const char* - get( Elf32_Word index ) const = 0; - - //search the string table for a given string - virtual Elf32_Word - find( const char *) const = 0; - - //add the string to the table if it's not already there, return the index of the string - virtual Elf32_Word - addUnique( const char* str ) = 0; - - virtual Elf32_Word - add( const char* str ) = 0; -}; // ostring_table - -class oconst_table -{ -public: - virtual ~oconst_table() {} - - virtual ptrdiff_t - reference() = 0; - - virtual ptrdiff_t - release() = 0; - - virtual const Elf32_Word* - get( Elf32_Word index ) const = 0; - - virtual Elf32_Word - add( const Elf32_Word *data, Elf32_Word size ) = 0; -}; - -class osymbol_table -{ - public: - - virtual ~osymbol_table() {} - - virtual ptrdiff_t - reference() = 0; - - virtual ptrdiff_t - release() = 0; - - virtual Elf32_Word - add_entry( Elf32_Word name, - Elf32_Addr value, - Elf32_Word size, - unsigned char info, - unsigned char other, - Elf32_Half shndx ) = 0; - - virtual Elf32_Word - add_entry( Elf32_Word name, - Elf32_Addr value, - Elf32_Word size, - unsigned char bind, - unsigned char type, - unsigned char other, - Elf32_Half shndx ) = 0; - - virtual Elf32_Word - add_entry( ostring_table* strtab, - const char* str, - Elf32_Addr value, - Elf32_Word size, - unsigned char info, - unsigned char other, - Elf32_Half shndx ) = 0; - - virtual Elf32_Word - add_entry( ostring_table* strtab, - const char* str, - Elf32_Addr value, - Elf32_Word size, - unsigned char bind, - unsigned char type, - unsigned char other, - Elf32_Half shndx ) = 0; -}; // osymbol_table - - -class orelocation_table -{ - public: - virtual ~orelocation_table() {} - - virtual ptrdiff_t - reference() = 0; - - virtual ptrdiff_t - release() = 0; - - virtual CGBIO_ERROR - add_entry( Elf32_Addr offset, - Elf32_Word info ) = 0; - - virtual CGBIO_ERROR - add_entry( Elf32_Addr offset, - Elf32_Word symbol, - unsigned char type ) = 0; - - virtual CGBIO_ERROR - add_entry( Elf32_Addr offset, - Elf32_Word info, - Elf32_Sword addend ) = 0; - - virtual CGBIO_ERROR - add_entry( Elf32_Addr offset, - Elf32_Word symbol, - unsigned char type, - Elf32_Sword addend ) = 0; - - virtual CGBIO_ERROR - add_entry( ostring_table* strtab, - const char* str, - osymbol_table* symtab, - Elf32_Addr value, - Elf32_Word size, - unsigned char symInfo, - unsigned char other, - Elf32_Half shndx, - Elf32_Addr offset, - unsigned char type ) = 0; - - virtual CGBIO_ERROR - add_entry( ostring_table* strtab, - const char* str, - osymbol_table* symtab, - Elf32_Addr value, - Elf32_Word size, - unsigned char symInfo, - unsigned char other, - Elf32_Half shndx, - Elf32_Addr offset, - unsigned char type, - Elf32_Sword addend ) = 0; -}; // orelocation_table - - -class oparam_table -{ - public: - virtual ~oparam_table() {} - - virtual ptrdiff_t - reference() = 0; - - virtual ptrdiff_t - release() = 0; - - virtual CGBIO_ERROR - add_entry( Elf32_cgParameter& cgparam ) = 0; -}; // oparam_table - - -} // bio namespace -} // cgc namespace - -#endif // CGC_CGBIO_CGBO_HPP diff --git a/ps3/rgl/src/cg/cgboimpl.hpp b/ps3/rgl/src/cg/cgboimpl.hpp deleted file mode 100644 index dc13ccd54f..0000000000 --- a/ps3/rgl/src/cg/cgboimpl.hpp +++ /dev/null @@ -1,378 +0,0 @@ -#if !defined(CGC_CGBIO_CGBOIMPL_HPP) -#define CGC_CGBIO_CGBOIMPL_HPP 1 - -#include -#include -#include -#include - -#include "cgbio.hpp" - -namespace cgc { -namespace bio { - -class osection_impl; - -class elf_writer_impl : public elf_writer -{ - public: - - elf_writer_impl(); - virtual - ~elf_writer_impl(); - - virtual ptrdiff_t - reference(); - - virtual ptrdiff_t - release(); - - virtual CGBIO_ERROR - save( ofstream& ofs ); - - virtual CGBIO_ERROR - save( const char* filename ); - - virtual CGBIO_ERROR - set_attr( unsigned char file_class, - unsigned char endianness, - unsigned char ELFversion, - unsigned char abi, - unsigned char ABIversion, - Elf32_Half type, - Elf32_Half machine, - Elf32_Word version, - Elf32_Word flags ); - - virtual Elf32_Addr - get_entry() const; - - virtual CGBIO_ERROR - set_entry( Elf32_Addr entry ); - - virtual unsigned char - endianness() const; - - virtual Elf32_Half - num_of_sections() const; - - virtual osection* - get_section( Elf32_Half index ) const; - - virtual osection* - get_section( const char * name ) const; - - virtual osection* - add_section( const char * name, - Elf32_Word type, - Elf32_Word flags, - Elf32_Word info, - Elf32_Word align, - Elf32_Word esize ); - - virtual streampos - section_offset( Elf32_Half index ) const; - - virtual CGBIO_ERROR - new_section_out( PRODUCER, osection*, void** ) const; - - private: - ptrdiff_t ref_count_; - Elf32_Ehdr header_; - std::vector sections_; -}; // elf_writer_impl - - -class osection_impl : public osection -{ - public: - osection_impl( Elf32_Half index, - elf_writer* cgbo, - const char * name, - Elf32_Word type, - Elf32_Word flags, - Elf32_Word info, - Elf32_Word addrAlign, - Elf32_Word entrySize ); - - virtual - ~osection_impl(); - - virtual ptrdiff_t - reference(); - - virtual ptrdiff_t - release(); - - virtual CGBIO_ERROR - save( ofstream& of, - streampos header, - streampos data); - - virtual Elf32_Half - index() const; - - virtual const char * - name() const; - - virtual Elf32_Word - type() const; - - virtual Elf32_Word - flags() const; - - virtual Elf32_Word - info() const; - - virtual Elf32_Word - addralign() const; - - virtual Elf32_Word - entsize() const; - - virtual Elf32_Word - size() const; - - virtual Elf32_Word - get_name_index() const; - - virtual void - set_name_index( Elf32_Word index ); - - virtual Elf32_Addr - get_address() const; - - virtual void - set_address( Elf32_Addr addr ); - - virtual Elf32_Word - get_link() const; - - virtual void - set_link( Elf32_Word link ); - - virtual char* - get_data() const; - - virtual CGBIO_ERROR - set_data( const char* data, Elf32_Word size ); - - virtual CGBIO_ERROR - add_data( const char* data, Elf32_Word size ); - - private: - Elf32_Half index_; - elf_writer* cgbo_; - Elf32_Shdr sh_; - char name_[512]; - char* data_; -}; - -class ostring_table_impl : public ostring_table -{ - public: - ostring_table_impl( elf_writer* cgbo, osection* section ); - - virtual - ~ostring_table_impl(); - - virtual ptrdiff_t - reference(); - - virtual ptrdiff_t - release(); - - virtual const char* - get( Elf32_Word index ) const; - - //search the string table for a given string - virtual Elf32_Word - find( const char *) const; - - //add the string to the table if it's not already there, return the index of the string - virtual Elf32_Word - addUnique( const char* str ); - - virtual Elf32_Word - add( const char* str ); - - private: - ptrdiff_t ref_count_; - elf_writer* cgbo_; - osection* section_; - std::vector data_; -}; - -class oconst_table_impl : public oconst_table -{ -public: - oconst_table_impl( elf_writer* cgbo, osection* section ); - - virtual - ~oconst_table_impl(); - - virtual ptrdiff_t - reference(); - - virtual ptrdiff_t - release(); - - virtual const Elf32_Word* - get( Elf32_Word index ) const; - - virtual Elf32_Word - add( const Elf32_Word *data, Elf32_Word count ); - -private: - ptrdiff_t ref_count_; - elf_writer* cgbo_; - osection* section_; - std::vector data_; -}; - -class osymbol_table_impl : public osymbol_table -{ - public: - osymbol_table_impl( elf_writer* cgbo, osection* sec ); - - virtual - ~osymbol_table_impl(); - - virtual ptrdiff_t - reference(); - - virtual ptrdiff_t - release(); - - virtual Elf32_Word - add_entry( Elf32_Word name, - Elf32_Addr value, - Elf32_Word size, - unsigned char info, - unsigned char other, - Elf32_Half shndx ); - - virtual Elf32_Word - add_entry( Elf32_Word name, - Elf32_Addr value, - Elf32_Word size, - unsigned char bind, - unsigned char type, - unsigned char other, - Elf32_Half shndx ); - - virtual Elf32_Word - add_entry( ostring_table* strtab, - const char* str, - Elf32_Addr value, - Elf32_Word size, - unsigned char info, - unsigned char other, - Elf32_Half shndx ); - - virtual Elf32_Word - add_entry( ostring_table* strtab, - const char* str, - Elf32_Addr value, - Elf32_Word size, - unsigned char bind, - unsigned char type, - unsigned char other, - Elf32_Half shndx ); - private: - ptrdiff_t ref_count_; - elf_writer* cgbo_; - osection* section_; -}; - -class orelocation_table_impl : public orelocation_table -{ - public: - orelocation_table_impl( elf_writer* cgbo, osection* sec ); - - virtual - ~orelocation_table_impl(); - - virtual ptrdiff_t - reference(); - - virtual ptrdiff_t - release(); - - virtual CGBIO_ERROR - add_entry( Elf32_Addr offset, - Elf32_Word info ); - - virtual CGBIO_ERROR - add_entry( Elf32_Addr offset, - Elf32_Word symbol, - unsigned char type ); - - virtual CGBIO_ERROR - add_entry( Elf32_Addr offset, - Elf32_Word info, - Elf32_Sword addend ); - - virtual CGBIO_ERROR - add_entry( Elf32_Addr offset, - Elf32_Word symbol, - unsigned char type, - Elf32_Sword addend ); - - virtual CGBIO_ERROR - add_entry( ostring_table* pStrWriter, - const char* str, - osymbol_table* pSymWriter, - Elf32_Addr value, - Elf32_Word size, - unsigned char symInfo, - unsigned char other, - Elf32_Half shndx, - Elf32_Addr offset, - unsigned char type ); - - virtual CGBIO_ERROR - add_entry( ostring_table* pStrWriter, - const char* str, - osymbol_table* pSymWriter, - Elf32_Addr value, - Elf32_Word size, - unsigned char symInfo, - unsigned char other, - Elf32_Half shndx, - Elf32_Addr offset, - unsigned char type, - Elf32_Sword addend ); - - private: - ptrdiff_t ref_count_; - elf_writer* cgbo_; - osection* section_; -}; // CGBORelocationTableImpl - -class oparam_table_impl : public oparam_table -{ - public: - oparam_table_impl( elf_writer* cgbo, osection* sec ); - - virtual - ~oparam_table_impl(); - - virtual ptrdiff_t - reference(); - virtual ptrdiff_t - release(); - - virtual CGBIO_ERROR - add_entry( Elf32_cgParameter& cgparam ); - - private: - ptrdiff_t ref_count_; - elf_writer* cgbo_; - osection* section_; -}; - - -} } // bio namespace cgc namespace - -#endif // CGC_CGBIO_CGBOIMPL_HPP diff --git a/ps3/rgl/src/cg/nvbo.hpp b/ps3/rgl/src/cg/nvbo.hpp deleted file mode 100644 index 48656c008f..0000000000 --- a/ps3/rgl/src/cg/nvbo.hpp +++ /dev/null @@ -1,83 +0,0 @@ -#if !defined(CGC_CGBIO_NVBO_HPP) -#define CGC_CGBIO_NVBO_HPP 1 - -#include -#include -#include - -#include "cgbdefs.hpp" - -using std::ofstream; -using std::streampos; - -namespace cgc { -namespace bio { - -class nvb_writer { - public: - enum PRODUCER - { - CGBO_HASH, - CGBO_STR, - CGBO_SYM, - CGBO_REL, - CGBO_PARAM, - CGBO_VP, - CGBO_FP - }; - - virtual ~nvb_writer () {} - - virtual ptrdiff_t - reference() = 0; - - virtual ptrdiff_t - release() = 0; - - virtual CGBIO_ERROR - save( ofstream& ofs ) = 0; - - virtual CGBIO_ERROR - save( const char* filename ) = 0; - - virtual CGBIO_ERROR - set_attr( unsigned char file_class, - unsigned char endianness, - unsigned char ELFversion, - unsigned char abi, - unsigned char ABIversion, - Elf32_Half type, - Elf32_Half machine, - Elf32_Word version, - Elf32_Word flags ) = 0; - - virtual Elf32_Addr - get_entry() const = 0; - - virtual CGBIO_ERROR - set_entry( Elf32_Addr entry ) = 0; - - virtual unsigned char - endianness() const = 0; -}; // elf_writer interface class - -class oparam_array -{ - public: - virtual ~oparam_array() {} - - virtual ptrdiff_t - reference() = 0; - - virtual ptrdiff_t - release() = 0; - - virtual CGBIO_ERROR - add_entry() = 0; -}; // oparam_table - - -} // bio namespace -} // cgc namespace - -#endif // CGC_CGBIO_NVBO_HPP diff --git a/ps3/rgl/src/cg/nvboimpl.hpp b/ps3/rgl/src/cg/nvboimpl.hpp deleted file mode 100644 index cccf2888d6..0000000000 --- a/ps3/rgl/src/cg/nvboimpl.hpp +++ /dev/null @@ -1,85 +0,0 @@ -#if !defined(CGC_CGBIO_NVBOIMPL_HPP) -#define CGC_CGBIO_NVBOIMPL_HPP 1 - -#include -#include -#include -#include - -#include "cgbio.hpp" - -namespace cgc { -namespace bio { - -class nvb_writer_impl : public nvb_writer -{ - public: - - nvb_writer_impl(); - virtual - ~nvb_writer_impl(); - - virtual ptrdiff_t - reference(); - - virtual ptrdiff_t - release(); - - virtual CGBIO_ERROR - save( ofstream& ofs ); - - virtual CGBIO_ERROR - save( const char* filename ); - - virtual CGBIO_ERROR - set_attr( unsigned char file_class, - unsigned char endianness, - unsigned char ELFversion, - unsigned char abi, - unsigned char ABIversion, - Elf32_Half type, - Elf32_Half machine, - Elf32_Word version, - Elf32_Word flags ); - - virtual Elf32_Addr - get_entry() const; - - virtual CGBIO_ERROR - set_entry( Elf32_Addr entry ); - - virtual unsigned char - endianness() const; - - private: - ptrdiff_t ref_count_; - Elf32_Ehdr header_; -}; // elf_writer_impl - - - -class oparam_array_impl : public oparam_array -{ - public: - oparam_array_impl( nvb_writer* cgbo ); - - virtual - ~oparam_array_impl(); - - virtual ptrdiff_t - reference(); - virtual ptrdiff_t - release(); - - virtual CGBIO_ERROR - add_entry(); - - private: - ptrdiff_t ref_count_; - nvb_writer* cgbo_; -}; - - -} } // bio namespace cgc namespace - -#endif // CGC_CGBIO_NVBOIMPL_HPP diff --git a/ps3/rgl/src/libelf/readelf.cpp b/ps3/rgl/src/libelf/readelf.c similarity index 100% rename from ps3/rgl/src/libelf/readelf.cpp rename to ps3/rgl/src/libelf/readelf.c diff --git a/ps3/rgl/src/rgl_cg.h b/ps3/rgl/src/rgl_cg.h index c7ff414fee..dcf9e5ac93 100644 --- a/ps3/rgl/src/rgl_cg.h +++ b/ps3/rgl/src/rgl_cg.h @@ -45,9 +45,7 @@ #include "cg/cgbio.hpp" #include "cg/cgbiimpl.hpp" -#include "cg/cgboimpl.hpp" #include "cg/nvbiimpl.hpp" -#include "cg/nvboimpl.hpp" #include "cg/cgbutils.hpp" #include "cg/cgbtypes.h"