[lld] r187643 - [PECOFF] Simplify COFFBSSAtom.

Shankar Easwaran shankare at codeaurora.org
Mon Aug 5 20:59:45 PDT 2013


Why isnt the BSS atom a type of DefinedAtom. On ELF its a defined atom 
which has typeZeroFill property.

On 8/2/2013 12:04 AM, Rui Ueyama wrote:
> Author: ruiu
> Date: Fri Aug  2 00:04:06 2013
> New Revision: 187643
>
> URL: http://llvm.org/viewvc/llvm-project?rev=187643&view=rev
> Log:
> [PECOFF] Simplify COFFBSSAtom.
>
> A instance of the class always represents a BSS atom, so we don't need
> to look at the symbol or the section to retrieve its attributes.
>
> Modified:
>      lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h
>      lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
>
> Modified: lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h?rev=187643&r1=187642&r2=187643&view=diff
> ==============================================================================
> --- lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h (original)
> +++ lld/trunk/lib/ReaderWriter/PECOFF/Atoms.h Fri Aug  2 00:04:06 2013
> @@ -235,11 +235,13 @@ private:
>   class COFFBSSAtom : public COFFDefinedFileAtom {
>   public:
>     COFFBSSAtom(const File &file, StringRef name, const coff_symbol *symbol,
> -              const coff_section *section, uint32_t size,
> -              StringRef sectionName, uint64_t ordinal)
> -      : COFFDefinedFileAtom(file, name, symbol, section, sectionName, ordinal),
> +              uint32_t size, uint64_t ordinal)
> +      : COFFDefinedFileAtom(file, name, symbol, nullptr, "", ordinal),
>           _size(size) {}
>   
> +  virtual ContentPermissions permissions() const { return permRW_; }
> +  virtual ContentType contentType() const { return typeZeroFill; }
> +  virtual Merge merge() const { return mergeNo; }
>     virtual uint64_t size() const { return _size; }
>     virtual ArrayRef<uint8_t> rawContent() const { return _contents; }
>   
>
> Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=187643&r1=187642&r2=187643&view=diff
> ==============================================================================
> --- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
> +++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Fri Aug  2 00:04:06 2013
> @@ -220,8 +220,7 @@ private:
>               ? section->SizeOfRawData - sym->Value
>               : si[1]->Value - sym->Value;
>           auto *atom = new (_alloc) COFFBSSAtom(
> -            *this, _symbolName[sym], sym, section, size, sectionName,
> -            ++ordinal);
> +            *this, _symbolName[sym], sym, size, ++ordinal);
>           atoms.push_back(atom);
>           _symbolAtom[sym] = atom;
>         }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation




More information about the llvm-commits mailing list