<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/ObjCopy/MachO/MachOObject.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>Implement a more seamless way to provide missing functions on z/OS (#167703)</title>
<updated>2025-11-18T20:58:39+00:00</updated>
<author>
<name>Sean Perry</name>
<email>perry@ca.ibm.com</email>
</author>
<published>2025-11-18T20:58:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8fce476c81225c5e74866020eff5cba81a272b33'/>
<id>8fce476c81225c5e74866020eff5cba81a272b33</id>
<content type='text'>
In this PR I'm changing the way we provide the missing functions like
strnlen() on z/OS from the separate header file to a wrapper around the
system headers that declare these functions. This will be less
intrusive.

---------

Co-authored-by: Zibi Sarbinowski &lt;zibi@ca.ibm.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In this PR I'm changing the way we provide the missing functions like
strnlen() on z/OS from the separate header file to a wrapper around the
system headers that declare these functions. This will be less
intrusive.

---------

Co-authored-by: Zibi Sarbinowski &lt;zibi@ca.ibm.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused standard headers: memory, unordered_* (#167297)</title>
<updated>2025-11-12T17:21:06+00:00</updated>
<author>
<name>serge-sans-paille</name>
<email>sguelton@mozilla.com</email>
</author>
<published>2025-11-12T17:21:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0bbf644a01c1dfdf1ab8ae7fcc816e98264a8672'/>
<id>0bbf644a01c1dfdf1ab8ae7fcc816e98264a8672</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[objcopy][MachO] Revert special handling of encryptable binaries (#144058)</title>
<updated>2025-06-16T19:06:25+00:00</updated>
<author>
<name>Daniel Rodríguez Troitiño</name>
<email>danielrodriguez@meta.com</email>
</author>
<published>2025-06-16T19:06:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a0662ceba83cf8782da4047b8ee6d175591f168f'/>
<id>a0662ceba83cf8782da4047b8ee6d175591f168f</id>
<content type='text'>
Code originally added in #120995 and later corrected in #130517 but
apparently still not correct according to #141494 and
rust-lang/rust#141913.

Revert the special handling because the test written in #120995 and
#130517 still passes without those changes. Kept the test and improved
it with a `__DATA` section to keep the current behaviour checked in case
other changes modify the behaviour and break this edge case.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Code originally added in #120995 and later corrected in #130517 but
apparently still not correct according to #141494 and
rust-lang/rust#141913.

Revert the special handling because the test written in #120995 and
#130517 still passes without those changes. Kept the test and improved
it with a `__DATA` section to keep the current behaviour checked in case
other changes modify the behaviour and break this edge case.</pre>
</div>
</content>
</entry>
<entry>
<title>[SystemZ][z/OS] add back headers needed for strnlen, autoconversion</title>
<updated>2025-06-06T13:45:06+00:00</updated>
<author>
<name>Abhina Sreeskantharajan</name>
<email>Abhina.Sreeskantharajan@ibm.com</email>
</author>
<published>2025-06-06T13:45:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6a4b89055b0711fd7a98a2c6dddc456495b32b22'/>
<id>6a4b89055b0711fd7a98a2c6dddc456495b32b22</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Remove unused includes (NFC) (#142733)</title>
<updated>2025-06-04T19:30:52+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-06-04T19:30:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=228f66807d0be1d7873e075fc81baf41001950b5'/>
<id>228f66807d0be1d7873e075fc81baf41001950b5</id>
<content type='text'>
These are identified by misc-include-cleaner.  I've filtered out those
that break builds.  Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are identified by misc-include-cleaner.  I've filtered out those
that break builds.  Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.</pre>
</div>
</content>
</entry>
<entry>
<title>[ObjCopy] Respect requirements of LC_ENCRYPTION_INFO commands (#120995)</title>
<updated>2025-01-08T16:49:03+00:00</updated>
<author>
<name>Daniel Rodríguez Troitiño</name>
<email>drodriguez@users.noreply.github.com</email>
</author>
<published>2025-01-08T16:49:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1a830aa1fe1e88749b563fefe18382842e0cff90'/>
<id>1a830aa1fe1e88749b563fefe18382842e0cff90</id>
<content type='text'>
LLD (and other Mach-O linkers) when preparing an encryptable binary make
space to leave all the load commands in an non-encrypted page (see [1])

When using objcopy of a small encryptable binary, the code was not
respecting this fact, and the encryptable segments were not kept beyond
the first page. This was obvious for small or empty binaries.

The changes introduced here keep track if a `LC_ENCRYPTION_INFO` or
`LC_ENCRYPTION_INFO_64` has been seen, and in such case, it adds a full
page of offset in order to leave the load commands in its own page
(similar to what LLD is doing).

[1]:
https://github.com/llvm/llvm-project/blob/d8e792931226b15d9d2424ecd24ccfe13adc2367/lld/MachO/SyntheticSections.cpp#L90-L93</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
LLD (and other Mach-O linkers) when preparing an encryptable binary make
space to leave all the load commands in an non-encrypted page (see [1])

When using objcopy of a small encryptable binary, the code was not
respecting this fact, and the encryptable segments were not kept beyond
the first page. This was obvious for small or empty binaries.

The changes introduced here keep track if a `LC_ENCRYPTION_INFO` or
`LC_ENCRYPTION_INFO_64` has been seen, and in such case, it adds a full
page of offset in order to leave the load commands in its own page
(similar to what LLD is doing).

[1]:
https://github.com/llvm/llvm-project/blob/d8e792931226b15d9d2424ecd24ccfe13adc2367/lld/MachO/SyntheticSections.cpp#L90-L93</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm-objcopy] Add support of symbol modification flags for MachO (#120895)</title>
<updated>2024-12-24T14:05:10+00:00</updated>
<author>
<name>Richard Dzenis</name>
<email>richard@dzenis.dev</email>
</author>
<published>2024-12-24T14:05:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=334a5766d7591bfaadf6990b3d8568c9688e22a5'/>
<id>334a5766d7591bfaadf6990b3d8568c9688e22a5</id>
<content type='text'>
This patch adds support of the following llvm-objcopy flags for MachO:

- `--globalize-symbol`, `--globalize-symbols`,
- `--keep-global-symbol`, `-G`, `--keep-global-symbols`,
- `--localize-symbol`, `-L`, `--localize-symbols`,
- `--skip-symbol`, `--skip-symbols`.

Code in `updateAndRemoveSymbols` for MachO
is kept similar to its version for ELF.

Fixes #120894</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds support of the following llvm-objcopy flags for MachO:

- `--globalize-symbol`, `--globalize-symbols`,
- `--keep-global-symbol`, `-G`, `--keep-global-symbols`,
- `--localize-symbol`, `-L`, `--localize-symbols`,
- `--skip-symbol`, `--skip-symbols`.

Code in `updateAndRemoveSymbols` for MachO
is kept similar to its version for ELF.

Fixes #120894</pre>
</div>
</content>
</entry>
<entry>
<title>[SystemZ][z/OS] Add missing strnlen function for z/OS to fix build failures (#75339)</title>
<updated>2023-12-13T18:13:53+00:00</updated>
<author>
<name>Abhina Sree</name>
<email>69635948+abhina-sree@users.noreply.github.com</email>
</author>
<published>2023-12-13T18:13:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ec41462d7a7d2fcd74dcf1c60218f134fcfd55b2'/>
<id>ec41462d7a7d2fcd74dcf1c60218f134fcfd55b2</id>
<content type='text'>
This patch adds strnlen to the zOSSupport.h file to fix build failures in multiple files.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds strnlen to the zOSSupport.h file to fix build failures in multiple files.</pre>
</div>
</content>
</entry>
<entry>
<title>[ObjCopy] llvm::Optional =&gt; std::optional</title>
<updated>2022-12-10T19:46:02+00:00</updated>
<author>
<name>Fangrui Song</name>
<email>i@maskray.me</email>
</author>
<published>2022-12-10T19:46:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ec941432cfa226e3a3eb462d6cd60d18510d97db'/>
<id>ec941432cfa226e3a3eb462d6cd60d18510d97db</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use std::nullopt instead of None (NFC)</title>
<updated>2022-12-03T05:11:44+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2022-12-03T05:11:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=aadaaface2ec96ee30d92bf46faa41dd9e68b64d'/>
<id>aadaaface2ec96ee30d92bf46faa41dd9e68b64d</id>
<content type='text'>
This patch mechanically replaces None with std::nullopt where the
compiler would warn if None were deprecated.  The intent is to reduce
the amount of manual work required in migrating from Optional to
std::optional.

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch mechanically replaces None with std::nullopt where the
compiler would warn if None were deprecated.  The intent is to reduce
the amount of manual work required in migrating from Optional to
std::optional.

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
</pre>
</div>
</content>
</entry>
</feed>
