<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Object/MachOUniversalWriter.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[Object] Remove restriction universal archives having both IR and native (#67505)</title>
<updated>2023-10-03T02:25:31+00:00</updated>
<author>
<name>Daniel Rodríguez Troitiño</name>
<email>drodriguez@users.noreply.github.com</email>
</author>
<published>2023-10-03T02:25:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b1167474d886e0a4e700ebf6eea20ccd57d3aafc'/>
<id>b1167474d886e0a4e700ebf6eea20ccd57d3aafc</id>
<content type='text'>
Mach-O archives seems to be able to contain both IR objects and native
objects mixed together. Apple tooling seems to deal with them correctly.

The current implementation was adding an additional restriction of all
the objects in the archive being either IR objects or native objects.

The changes in this commit remove that restriction and allow mixing both
IR and native objects, while still checking that the CPU restrictions
still apply (all objects in a slice need to be the same CPU
type/subtype).

A test that was testing for the previous behaviour had been modified to
test that mixed archives are allowed and that they create the expected
results.

Additionally, locally I checked the results of Apple's `libtool` against
`llvm-libtool-darwin` with this code, and the resulting libraries are
almost identical with expected differences in the GUID and code
signatures load commands, and some minor differences in the rest of the
binary.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mach-O archives seems to be able to contain both IR objects and native
objects mixed together. Apple tooling seems to deal with them correctly.

The current implementation was adding an additional restriction of all
the objects in the archive being either IR objects or native objects.

The changes in this commit remove that restriction and allow mixing both
IR and native objects, while still checking that the CPU restrictions
still apply (all objects in a slice need to be the same CPU
type/subtype).

A test that was testing for the previous behaviour had been modified to
test that mixed archives are allowed and that they create the expected
results.

Additionally, locally I checked the results of Apple's `libtool` against
`llvm-libtool-darwin` with this code, and the resulting libraries are
almost identical with expected differences in the GUID and code
signatures load commands, and some minor differences in the rest of the
binary.</pre>
</div>
</content>
</entry>
<entry>
<title>[lipo] Initialized variable after #67737</title>
<updated>2023-10-02T21:03:09+00:00</updated>
<author>
<name>Vitaly Buka</name>
<email>vitalybuka@google.com</email>
</author>
<published>2023-10-02T21:02:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=55d8f0cd31311ed3ebc85bef2c9b5cfca1579076'/>
<id>55d8f0cd31311ed3ebc85bef2c9b5cfca1579076</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build failure on windows (NFC)</title>
<updated>2023-10-01T00:06:34+00:00</updated>
<author>
<name>Jie Fu</name>
<email>jiefu@tencent.com</email>
</author>
<published>2023-10-01T00:06:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b225f2d5d737d262c49fece286bba2d3126609e1'/>
<id>b225f2d5d737d262c49fece286bba2d3126609e1</id>
<content type='text'>
C:\buildbot\mlir-x64-windows-ninja\llvm-project\llvm\lib\Object\MachOUniversalWriter.cpp(352) : error C2220: the following warning is treated as an error
C:\buildbot\mlir-x64-windows-ninja\llvm-project\llvm\lib\Object\MachOUniversalWriter.cpp(352) : warning C4715: 'llvm::object::writeUniversalBinaryToStream': not all control paths return a value
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
C:\buildbot\mlir-x64-windows-ninja\llvm-project\llvm\lib\Object\MachOUniversalWriter.cpp(352) : error C2220: the following warning is treated as an error
C:\buildbot\mlir-x64-windows-ninja\llvm-project\llvm\lib\Object\MachOUniversalWriter.cpp(352) : warning C4715: 'llvm::object::writeUniversalBinaryToStream': not all control paths return a value
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix -Wcovered-switch-default in MachOUniversalWriter.cpp (NFC)</title>
<updated>2023-09-30T23:04:40+00:00</updated>
<author>
<name>Jie Fu</name>
<email>jiefu@tencent.com</email>
</author>
<published>2023-09-30T23:04:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a5b45b48ece35f05ed53440bc792193db52b8b1b'/>
<id>a5b45b48ece35f05ed53440bc792193db52b8b1b</id>
<content type='text'>
/llvm-project/llvm/lib/Object/MachOUniversalWriter.cpp:351:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  default:
  ^
1 error generated.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
/llvm-project/llvm/lib/Object/MachOUniversalWriter.cpp:351:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  default:
  ^
1 error generated.
</pre>
</div>
</content>
</entry>
<entry>
<title>[lipo] Support creating Universal 64 bit Mach-O files. (#67737)</title>
<updated>2023-09-30T22:25:41+00:00</updated>
<author>
<name>Daniel Rodríguez Troitiño</name>
<email>drodriguez@users.noreply.github.com</email>
</author>
<published>2023-09-30T22:25:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=efb46515ce9bfcc1c51d935bfbf1c5680980b275'/>
<id>efb46515ce9bfcc1c51d935bfbf1c5680980b275</id>
<content type='text'>
Xcode `lipo` seems to support a non-documented `-fat64` option that
creates Universal Mach-O archives using 64 bit versions of the
`fat_arch` header, which allows offsets larger than 32 bits to be
specified.

Modify `llvm-lipo` to support the same flag, and use the value of the
flag to use either 32 bits or 64 bits Mach-O headers.

The Mach-O universal writer allows specifying a new option to write
these 64 bits headers. The default is still using 32 bits.

`dsymutil` implemented support for a similar flag in
https://reviews.llvm.org/D146879.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Xcode `lipo` seems to support a non-documented `-fat64` option that
creates Universal Mach-O archives using 64 bit versions of the
`fat_arch` header, which allows offsets larger than 32 bits to be
specified.

Modify `llvm-lipo` to support the same flag, and use the value of the
flag to use either 32 bits or 64 bits Mach-O headers.

The Mach-O universal writer allows specifying a new option to write
these 64 bits headers. The default is still using 32 bits.

`dsymutil` implemented support for a similar flag in
https://reviews.llvm.org/D146879.</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][TargetParser] Remove llvm/ADT/Triple.h</title>
<updated>2023-02-07T12:39:46+00:00</updated>
<author>
<name>Archibald Elliott</name>
<email>archibald.elliott@arm.com</email>
</author>
<published>2023-02-07T12:21:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=62c7f035b4392c1933550eead6ddab35122720bc'/>
<id>62c7f035b4392c1933550eead6ddab35122720bc</id>
<content type='text'>
I also ran `git clang-format` to get the headers in the right order for
the new location, which has changed the order of other headers in two
files.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I also ran `git clang-format` to get the headers in the right order for
the new location, which has changed the order of other headers in two
files.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use llvm::count{lr}_{zero,one} (NFC)</title>
<updated>2023-01-28T20:41:20+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2023-01-28T20:41:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=55e2cd16095d64e9afca6e109e40ed95d735dc7f'/>
<id>55e2cd16095d64e9afca6e109e40ed95d735dc7f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Apply clang-tidy fixes for readability-redundant-smartptr-get in MachOUniversalWriter.cpp (NFC)</title>
<updated>2022-03-28T16:18:35+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2022-03-28T16:18:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7405bb82d37eeac1cd77722767bb14ae56cee2a6'/>
<id>7405bb82d37eeac1cd77722767bb14ae56cee2a6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup includes: DebugInfo &amp; CodeGen</title>
<updated>2022-03-12T16:26:40+00:00</updated>
<author>
<name>serge-sans-paille</name>
<email>sguelton@redhat.com</email>
</author>
<published>2022-03-09T21:29:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ed98c1b37661b0795a5e34517941485f0f0688d1'/>
<id>ed98c1b37661b0795a5e34517941485f0f0688d1</id>
<content type='text'>
Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D121332
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D121332
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup LLVMObject headers</title>
<updated>2022-02-10T20:13:44+00:00</updated>
<author>
<name>serge-sans-paille</name>
<email>sguelton@redhat.com</email>
</author>
<published>2022-02-10T17:39:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e72c195fdcbe03ce1f728689e11716ec46a258ba'/>
<id>e72c195fdcbe03ce1f728689e11716ec46a258ba</id>
<content type='text'>
Most notably,

llvm/Object/Binary.h no longer includes llvm/Support/MemoryBuffer.h
llvm/Object/MachOUniversal*.h no longer include llvm/Object/Archive.h
llvm/Object/TapiUniversal.h no longer includes llvm/Object/TapiFile.h

llvm-project preprocessed size:
before: 1068185081
after:  1068324320

Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D119457
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most notably,

llvm/Object/Binary.h no longer includes llvm/Support/MemoryBuffer.h
llvm/Object/MachOUniversal*.h no longer include llvm/Object/Archive.h
llvm/Object/TapiUniversal.h no longer includes llvm/Object/TapiFile.h

llvm-project preprocessed size:
before: 1068185081
after:  1068324320

Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup
Differential Revision: https://reviews.llvm.org/D119457
</pre>
</div>
</content>
</entry>
</feed>
