Commit graph

6 commits

Author SHA1 Message Date
Matthias Maennich
165daa7b1c ANDROID: abi_gki_aarch64_whitelist: add module_layout and task_struct
The module_layout symbol is a special case that is always kept exported,
even with CONFIG_TRIM_UNUSED_KSYMS=y.

task_struct is special in a different way. It can be accessed without
the use of an exported symbol through direct register access.

Add them to the global whitelist to ensure they are kept stable.

Bug: 148277666
Bug: 147380000

Change-Id: Ib7ff326fd25da773e4dadc273ff60ec37b9f2bff
Signed-off-by: Matthias Maennich <maennich@google.com>
2020-03-05 09:07:15 +00:00
Matthias Maennich
e02f4e66ef ANDROID: update ABI representation and GKI whitelist
Now that GKI comes without modules, the GKI whitelist is effectively
empty as GKI itself would not require any stable symbols any longer.

Hence, clear out the main whitelist and ABI representation. In
subsequent changes I will extend the additional whitelists to bring back
the actually used symbols.

Bug: 147894960
Change-Id: If34fad5f4bded40a6d76dd75694c772d05271332
Signed-off-by: Matthias Maennich <maennich@google.com>
2020-02-12 11:03:41 +00:00
Eric Biggers
679986ce7f ANDROID: update ABI following inline crypto changes
Leaf changes summary: 13 artifacts changed
Changed leaf types summary: 7 leaf types changed
Removed/Changed/Added functions summary: 6 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

6 Removed functions:

  [D] 'function dentry* debugfs_create_dir(const char*, dentry*)'
  [D] 'function dentry* debugfs_create_file(const char*, umode_t, dentry*, void*, const file_operations*)'
  [D] 'function dentry* debugfs_create_x32(const char*, umode_t, dentry*, u32*)'
  [D] 'function void debugfs_remove(dentry*)'
  [D] 'function void debugfs_remove_recursive(dentry*)'
  [D] 'function int drm_debugfs_create_files(const drm_info_list*, int, dentry*, drm_minor*)'

'struct backing_dev_info at backing-dev-defs.h:167:1' changed:
  type size changed from 7936 to 7808 (in bits)
  2 data member deletions:
    'dentry* backing_dev_info::debug_dir', at offset 7808 (in bits) at backing-dev-defs.h:205:1

    'dentry* backing_dev_info::debug_stats', at offset 7872 (in bits) at backing-dev-defs.h:206:1

  43 impacted interfaces:
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function int blk_mq_alloc_tag_set(blk_mq_tag_set*)
    function void blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function void blk_mq_free_tag_set(blk_mq_tag_set*)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_stop_hw_queue(blk_mq_hw_ctx*)
    function void blk_mq_unquiesce_queue(request_queue*)
    function int blk_mq_virtio_map_queues(blk_mq_tag_set*, virtio_device*, int)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function void del_gendisk(gendisk*)
    function void device_add_disk(device*, gendisk*)
    function void put_disk(gendisk*)
    function int revalidate_disk(gendisk*)
    function void set_disk_ro(gendisk*, int)

'struct bio at blk_types.h:145:1' changed:
  type size changed from 1216 to 1280 (in bits)
  1 data member insertion:
    'bool bio::bi_skip_dm_default_key', at offset 1024 (in bits) at blk_types.h:190:1
  there are data member changes:
   'unsigned short int bio::bi_vcnt' offset changed from 1024 to 1040 (in bits) (by +16 bits)
   offset changed from 1024 to 1032 (in bits) (by +8 bits)
   'unsigned short int bio::bi_max_vecs' offset changed from 1040 to 1056 (in bits) (by +16 bits)
   'atomic_t bio::__bi_cnt' offset changed from 1056 to 1088 (in bits) (by +32 bits)
   'bio_vec* bio::bi_io_vec' offset changed from 1088 to 1152 (in bits) (by +64 bits)
   'bio_set* bio::bi_pool' offset changed from 1152 to 1216 (in bits) (by +64 bits)
   'bio_vec bio::bi_inline_vecs[]' offset changed from 1216 to 1280 (in bits) (by +64 bits)

  43 impacted interfaces:
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function int blk_mq_alloc_tag_set(blk_mq_tag_set*)
    function void blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function void blk_mq_free_tag_set(blk_mq_tag_set*)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_stop_hw_queue(blk_mq_hw_ctx*)
    function void blk_mq_unquiesce_queue(request_queue*)
    function int blk_mq_virtio_map_queues(blk_mq_tag_set*, virtio_device*, int)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function void del_gendisk(gendisk*)
    function void device_add_disk(device*, gendisk*)
    function void put_disk(gendisk*)
    function int revalidate_disk(gendisk*)
    function void set_disk_ro(gendisk*, int)

'struct blk_mq_hw_ctx at blk-mq.h:15:1' changed:
  type size hasn't changed
  2 data member deletions:
    'dentry* blk_mq_hw_ctx::debugfs_dir', at offset 4160 (in bits) at blk-mq.h:69:1

    'dentry* blk_mq_hw_ctx::sched_debugfs_dir', at offset 4224 (in bits) at blk-mq.h:70:1

  there are data member changes:
   'srcu_struct blk_mq_hw_ctx::srcu[]' offset changed from 4288 to 4160 (in bits) (by -128 bits)

  one impacted interface:
    function void blk_mq_stop_hw_queue(blk_mq_hw_ctx*)

'struct drm_crtc at drm_crtc.h:816:1' changed:
  type size changed from 9856 to 9792 (in bits)
  1 data member deletion:
    'dentry* drm_crtc::debugfs_entry', at offset 8832 (in bits) at drm_crtc.h:1007:1

  there are data member changes:
   'drm_crtc_crc drm_crtc::crc' offset changed from 8896 to 8832 (in bits) (by -64 bits)
   'unsigned int drm_crtc::fence_context' offset changed from 9472 to 9408 (in bits) (by -64 bits)
   'spinlock_t drm_crtc::fence_lock' offset changed from 9504 to 9440 (in bits) (by -64 bits)
   'unsigned long int drm_crtc::fence_seqno' offset changed from 9536 to 9472 (in bits) (by -64 bits)
   'char drm_crtc::timeline_name[32]' offset changed from 9600 to 9536 (in bits) (by -64 bits)

  65 impacted interfaces:
    function int drm_add_edid_modes(drm_connector*, edid*)
    function int drm_add_modes_noedid(drm_connector*, int, int)
    function int drm_atomic_helper_check(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_cleanup_planes(drm_device*, drm_atomic_state*)
    function int drm_atomic_helper_commit(drm_device*, drm_atomic_state*, bool)
    function void drm_atomic_helper_commit_hw_done(drm_atomic_state*)
    function void drm_atomic_helper_commit_modeset_disables(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_commit_modeset_enables(drm_device*, drm_atomic_state*)
    function void drm_atomic_helper_commit_planes(drm_device*, drm_atomic_state*, uint32_t)
    function void drm_atomic_helper_connector_destroy_state(drm_connector*, drm_connector_state*)
    function drm_connector_state* drm_atomic_helper_connector_duplicate_state(drm_connector*)
    function void drm_atomic_helper_connector_reset(drm_connector*)
    function void drm_atomic_helper_crtc_destroy_state(drm_crtc*, drm_crtc_state*)
    function drm_crtc_state* drm_atomic_helper_crtc_duplicate_state(drm_crtc*)
    function void drm_atomic_helper_crtc_reset(drm_crtc*)
    function int drm_atomic_helper_disable_plane(drm_plane*, drm_modeset_acquire_ctx*)
    function int drm_atomic_helper_page_flip(drm_crtc*, drm_framebuffer*, drm_pending_vblank_event*, uint32_t, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_plane_destroy_state(drm_plane*, drm_plane_state*)
    function drm_plane_state* drm_atomic_helper_plane_duplicate_state(drm_plane*)
    function void drm_atomic_helper_plane_reset(drm_plane*)
    function int drm_atomic_helper_set_config(drm_mode_set*, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_shutdown(drm_device*)
    function int drm_atomic_helper_update_plane(drm_plane*, drm_crtc*, drm_framebuffer*, int, int, unsigned int, unsigned int, uint32_t, uint32_t, uint32_t, uint32_t, drm_modeset_acquire_ctx*)
    function void drm_atomic_helper_wait_for_vblanks(drm_device*, drm_atomic_state*)
    function void drm_connector_attach_edid_property(drm_connector*)
    function int drm_connector_attach_encoder(drm_connector*, drm_encoder*)
    function void drm_connector_cleanup(drm_connector*)
    function int drm_connector_init(drm_device*, drm_connector*, const drm_connector_funcs*, int)
    function int drm_connector_register(drm_connector*)
    function void drm_connector_unregister(drm_connector*)
    function int drm_connector_update_edid_property(drm_connector*, const edid*)
    function void drm_crtc_cleanup(drm_crtc*)
    function int drm_crtc_init_with_planes(drm_device*, drm_crtc*, drm_plane*, drm_plane*, const drm_crtc_funcs*, const char*, ...)
    function void drm_crtc_send_vblank_event(drm_crtc*, drm_pending_vblank_event*)
    function drm_display_mode* drm_cvt_mode(drm_device*, int, int, int, bool, bool, bool)
    function drm_device* drm_dev_alloc(drm_driver*, device*)
    function void drm_dev_put(drm_device*)
    function int drm_dev_register(drm_device*, unsigned long int)
    function int drm_dev_set_unique(drm_device*, const char*)
    function edid* drm_do_get_edid(drm_connector*, void ()*, void*)
    function void drm_encoder_cleanup(drm_encoder*)
    function int drm_encoder_init(drm_device*, drm_encoder*, const drm_encoder_funcs*, int, const char*, ...)
    function int drm_framebuffer_init(drm_device*, drm_framebuffer*, const drm_framebuffer_funcs*)
    function int drm_gem_handle_create(drm_file*, drm_gem_object*, u32*)
    function int drm_gem_object_init(drm_device*, drm_gem_object*, size_t)
    function drm_gem_object* drm_gem_object_lookup(drm_file*, u32)
    function void drm_gem_object_put_unlocked(drm_gem_object*)
    function void drm_gem_object_release(drm_gem_object*)
    function dma_buf* drm_gem_prime_export(drm_device*, drm_gem_object*, int)
    function int drm_gem_prime_fd_to_handle(drm_device*, drm_file*, int, uint32_t*)
    function int drm_gem_prime_handle_to_fd(drm_device*, drm_file*, uint32_t, uint32_t, int*)
    function drm_gem_object* drm_gem_prime_import(drm_device*, dma_buf*)
    function int drm_gem_prime_mmap(drm_gem_object*, vm_area_struct*)
    function bool drm_helper_hpd_irq_event(drm_device*)
    function void drm_helper_mode_fill_fb_struct(drm_device*, drm_framebuffer*, const drm_mode_fb_cmd2*)
    function int drm_helper_probe_single_connector_modes(drm_connector*, uint32_t, uint32_t)
    function void drm_kms_helper_hotplug_event(drm_device*)
    function void drm_mode_config_cleanup(drm_device*)
    function void drm_mode_config_init(drm_device*)
    function void drm_mode_config_reset(drm_device*)
    function void drm_mode_probed_add(drm_connector*, drm_display_mode*)
    function void drm_plane_cleanup(drm_plane*)
    function void drm_put_dev(drm_device*)
    function void drm_set_preferred_mode(drm_connector*, int, int)
    function int drm_universal_plane_init(drm_device*, drm_plane*, uint32_t, const drm_plane_funcs*, const uint32_t*, unsigned int, const uint64_t*, drm_plane_type, const char*, ...)

'struct elevator_type at elevator.h:135:1' changed:
  type size changed from 2496 to 2304 (in bits)
  2 data member deletions:
    'const blk_mq_debugfs_attr* elevator_type::queue_debugfs_attrs', at offset 2048 (in bits) at elevator.h:153:1

    'const blk_mq_debugfs_attr* elevator_type::hctx_debugfs_attrs', at offset 2112 (in bits) at elevator.h:154:1

  there are data member changes:
   'char elevator_type::icq_cache_name[22]' offset changed from 2176 to 1992 (in bits) (by -184 bits)
   'list_head elevator_type::list' offset changed from 2368 to 2176 (in bits) (by -192 bits)

  43 impacted interfaces:
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function int blk_mq_alloc_tag_set(blk_mq_tag_set*)
    function void blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function void blk_mq_free_tag_set(blk_mq_tag_set*)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_stop_hw_queue(blk_mq_hw_ctx*)
    function void blk_mq_unquiesce_queue(request_queue*)
    function int blk_mq_virtio_map_queues(blk_mq_tag_set*, virtio_device*, int)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function void del_gendisk(gendisk*)
    function void device_add_disk(device*, gendisk*)
    function void put_disk(gendisk*)
    function int revalidate_disk(gendisk*)
    function void set_disk_ro(gendisk*, int)

'struct request_queue at blkdev.h:434:1' changed:
  type size changed from 18048 to 17920 (in bits)
  2 data member deletions:
    'dentry* request_queue::debugfs_dir', at offset 17152 (in bits) at blkdev.h:668:1

    'dentry* request_queue::sched_debugfs_dir', at offset 17216 (in bits) at blkdev.h:669:1

  there are data member changes:
   'bool request_queue::mq_sysfs_init_done' offset changed from 17280 to 17152 (in bits) (by -128 bits)
   'size_t request_queue::cmd_size' offset changed from 17344 to 17216 (in bits) (by -128 bits)
   'void* request_queue::rq_alloc_data' offset changed from 17408 to 17280 (in bits) (by -128 bits)
   'work_struct request_queue::release_work' offset changed from 17472 to 17344 (in bits) (by -128 bits)
   'u64 request_queue::write_hints[5]' offset changed from 17728 to 17600 (in bits) (by -128 bits)

  43 impacted interfaces:
    function gendisk* __alloc_disk_node(int, int)
    function void __blk_mq_end_request(request*, blk_status_t)
    function void blk_cleanup_queue(request_queue*)
    function void blk_execute_rq(request_queue*, gendisk*, request*, int)
    function bool blk_get_queue(request_queue*)
    function request* blk_get_request(request_queue*, unsigned int, blk_mq_req_flags_t)
    function int blk_mq_alloc_tag_set(blk_mq_tag_set*)
    function void blk_mq_complete_request(request*)
    function void blk_mq_end_request(request*, blk_status_t)
    function void blk_mq_free_tag_set(blk_mq_tag_set*)
    function request_queue* blk_mq_init_queue(blk_mq_tag_set*)
    function void blk_mq_quiesce_queue(request_queue*)
    function void blk_mq_requeue_request(request*, bool)
    function void blk_mq_run_hw_queues(request_queue*, bool)
    function void blk_mq_start_request(request*)
    function void blk_mq_start_stopped_hw_queues(request_queue*, bool)
    function void blk_mq_stop_hw_queue(blk_mq_hw_ctx*)
    function void blk_mq_unquiesce_queue(request_queue*)
    function int blk_mq_virtio_map_queues(blk_mq_tag_set*, virtio_device*, int)
    function void blk_put_queue(request_queue*)
    function void blk_put_request(request*)
    function void blk_queue_alignment_offset(request_queue*, unsigned int)
    function void blk_queue_bounce_limit(request_queue*, u64)
    function void blk_queue_flag_clear(unsigned int, request_queue*)
    function void blk_queue_flag_set(unsigned int, request_queue*)
    function void blk_queue_io_min(request_queue*, unsigned int)
    function void blk_queue_io_opt(request_queue*, unsigned int)
    function void blk_queue_logical_block_size(request_queue*, unsigned int)
    function void blk_queue_max_discard_sectors(request_queue*, unsigned int)
    function void blk_queue_max_hw_sectors(request_queue*, unsigned int)
    function void blk_queue_max_segment_size(request_queue*, unsigned int)
    function void blk_queue_max_segments(request_queue*, unsigned short int)
    function void blk_queue_physical_block_size(request_queue*, unsigned int)
    function void blk_queue_rq_timeout(request_queue*, unsigned int)
    function void blk_queue_write_cache(request_queue*, bool, bool)
    function int blk_rq_map_kern(request_queue*, request*, void*, unsigned int, gfp_t)
    function int blk_rq_map_sg(request_queue*, request*, scatterlist*)
    function bool blk_update_request(request*, blk_status_t, unsigned int)
    function void del_gendisk(gendisk*)
    function void device_add_disk(device*, gendisk*)
    function void put_disk(gendisk*)
    function int revalidate_disk(gendisk*)
    function void set_disk_ro(gendisk*, int)

'struct sync_file at sync_file.h:35:1' changed:
  type size changed from 960 to 832 (in bits)
  1 data member deletion:
    'list_head sync_file::sync_file_list', at offset 320 (in bits) at sync_file.h:46:1

  there are data member changes:
   'wait_queue_head_t sync_file::wq' offset changed from 448 to 320 (in bits) (by -128 bits)
   'unsigned long int sync_file::flags' offset changed from 640 to 512 (in bits) (by -128 bits)
   'dma_fence* sync_file::fence' offset changed from 704 to 576 (in bits) (by -128 bits)
   'dma_fence_cb sync_file::cb' offset changed from 768 to 640 (in bits) (by -128 bits)

  one impacted interface:
    function sync_file* sync_file_create(dma_fence*)

Bug: 137270441
Change-Id: I24a32d241b8055c51a22af7c552f575f9d596843
Signed-off-by: Eric Biggers <ebiggers@google.com>
2020-01-24 12:06:49 -08:00
Matthias Maennich
4a8196f24c ANDROID: Update ABI representation and whitelist
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 Added function:

  [A] 'function void scatterwalk_map_and_copy(void*, scatterlist*, unsigned int, unsigned int, int)'

Bug: 148000665
Change-Id: I3842d73a4af9cd175ddcfa6d3ecba1453ae9663a
Signed-off-by: Matthias Maennich <maennich@google.com>
2020-01-20 17:15:37 +00:00
Alistair Delva
4f06c463d7 ANDROID: update ABI whitelist
Bug: 145692847
Change-Id: I64309fb446ab0c9f700d81261f86add5ec1f3984
Signed-off-by: Alistair Delva <adelva@google.com>
2020-01-16 13:31:47 -08:00
Matthias Maennich
71f21b22ae ANDROID: add initial ABI whitelist for android-4.19
Bug: 145692847
Change-Id: I52e4b9b6bc025a86eb4f75bc7643a69b1e5c0d93
Signed-off-by: Matthias Maennich <maennich@google.com>
2019-12-18 12:44:33 +00:00