[llvm-commits] [llvm] r171943 - in /llvm/trunk: include/llvm/Object/Binary.h lib/DebugInfo/DWARFContext.cpp

NAKAMURA Takumi geek4civic at gmail.com
Tue Jan 8 18:50:00 PST 2013


Eric and Michael, I don't think my tweak would do the right thing,
although I wanted to fix test/DebugInfo/member-pointers.ll.
Feel free to update this, please.

...Takumi

2013/1/9 NAKAMURA Takumi <geek4civic at gmail.com>:
> Author: chapuni
> Date: Tue Jan  8 20:45:05 2013
> New Revision: 171943
>
> URL: http://llvm.org/viewvc/llvm-project?rev=171943&view=rev
> Log:
> [Object, DebugInfo] Make DWARFContext BE-aware.
>
> test/DebugInfo/member-pointers.ll would not fail in targetting BE any more.
>
> Modified:
>     llvm/trunk/include/llvm/Object/Binary.h
>     llvm/trunk/lib/DebugInfo/DWARFContext.cpp
>
> Modified: llvm/trunk/include/llvm/Object/Binary.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/Binary.h?rev=171943&r1=171942&r2=171943&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Object/Binary.h (original)
> +++ llvm/trunk/include/llvm/Object/Binary.h Tue Jan  8 20:45:05 2013
> @@ -49,8 +49,8 @@
>      ID_EndObjects
>    };
>
> -  static inline unsigned int getELFType(bool isLittleEndian, bool is64Bits) {
> -    if (isLittleEndian)
> +  static inline unsigned int getELFType(bool isLE, bool is64Bits) {
> +    if (isLE)
>        return is64Bits ? ID_ELF64L : ID_ELF32L;
>      else
>        return is64Bits ? ID_ELF64B : ID_ELF32B;
> @@ -85,6 +85,10 @@
>    bool isCOFF() const {
>      return TypeID == ID_COFF;
>    }
> +
> +  bool isLittleEndian() const {
> +    return !(TypeID == ID_ELF32B || TypeID == ID_ELF64B);
> +  }
>  };
>
>  /// @brief Create a Binary from Source, autodetecting the file type.
>
> Modified: llvm/trunk/lib/DebugInfo/DWARFContext.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/DWARFContext.cpp?rev=171943&r1=171942&r2=171943&view=diff
> ==============================================================================
> --- llvm/trunk/lib/DebugInfo/DWARFContext.cpp (original)
> +++ llvm/trunk/lib/DebugInfo/DWARFContext.cpp Tue Jan  8 20:45:05 2013
> @@ -352,7 +352,7 @@
>  }
>
>  DWARFContextInMemory::DWARFContextInMemory(object::ObjectFile *Obj) :
> -  IsLittleEndian(true /* FIXME */) {
> +  IsLittleEndian(Obj->isLittleEndian()) {
>    error_code ec;
>    for (object::section_iterator i = Obj->begin_sections(),
>           e = Obj->end_sections();
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list