tree 255a19d32683aa0dac7061db4919b9cc21c2edff
parent ec290a43f68b469197abce65949fde84ecdc9146
author jimingham <jingham@apple.com> 1743526446 -0700
committer GitHub <noreply@github.com> 1743526446 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJn7BouCRC1aQ7uu5UhlAAAbXUQAI1yL1jsRqO7MkGKO6c7n/K+
 StTN4abF7vq64yET5dh5/YJk1LnTbScDbZMtv7FWgKID14qY0nKXSLkqXe7YA7sh
 YEUIUrRhoEDlPxAayRPnPzwU1JkAuG25Nhr54L3xQ9JGzf1QmPWeZdmhzIdtfX3J
 R98uBBOihqn34eWpulL2joTqdeyLR9ig4sK3mlo84dFAfFjY8mwI0X/T4OHX9LKK
 rLpG+7gp5rFOG6ENLg3JykCZGIqC26Q3NBVVf3g5ZbzPts1yW+e81cTur6TFrHv1
 xHz8hkSSe3eGjCcCI92FiBWvyKaJZPH0qgJ3y3ugnWsSAvIolLqLGswn7BoBf/SR
 OHuSovdjX7mwyab0JQyg53VGw+6TbIfnhstzTORzyRorKCTOMWMhgmwIot7eih8T
 6Q6kKEVLvI/AaO/819Y6msmzixoF+c33qqVB5pLQoOfLeBT2JvP52srbEWVGYlO8
 tpD9HSMsTgnPyEdOO9kWyfcTy0/FTG4xxbfNLgo5So6JXoqbXQrZPjMK5yST3MbL
 h73A6nv0R7Qkm+C6PQT2lW68RguGlwkwiAM780eXmNs2wrxxMvCRA2+zOyVxAMWz
 KvGKf1HJxEuJdp5HyK77y8wBrbewnKForf8C6GwapvHHJe2bKcXyzTfvrdn4OQn4
 YvNWg0mChIx6sbmaTJ+n
 =F92X
 -----END PGP SIGNATURE-----
 

Add a new affordance that the Python module in a dSYM (#133290)

So the dSYM can be told what target it has been loaded into.

When lldb is loading modules, while creating a target, it will run
"command script import" on any Python modules in Resources/Python in the
dSYM. However, this happens WHILE the target is being created, so it is
not yet in the target list. That means that these scripts can't act on
the target that they a part of when they get loaded.

This patch adds a new python API that lldb will call:

__lldb_module_added_to_target

if it is defined in the module, passing in the Target the module was
being added to, so that code in these dSYM's don't have to guess.