Re: [PATCH dwarves] btf: Add --btf_gen_all flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Em Fri, Mar 12, 2021 at 01:08:08AM +0100, Ilya Leoshkevich escreveu:
> By default, pahole makes use only of BTF features introduced with
> kernel v5.2. Features that are added later need to be turned on with
> explicit feature flags, such as --btf_gen_floats. According to [1],
> this will hinder the people who generate BTF for kernels externally
> (e.g. for old kernels to support BPF CO-RE).
> 
> Introduce --btf_gen_all that allows using all BTF features supported
> by pahole.
> 
> [1] https://lore.kernel.org/dwarves/CAEf4Bzbyugfb2RkBkRuxNGKwSk40Tbq4zAvhQT8W=fVMYWuaxA@xxxxxxxxxxxxxx/

Applied locally, testing ongoing.

Also added this:

Suggested-by: Andrii Nakryiko <andrii@xxxxxxxxxx>

- Arnaldo
 
> Signed-off-by: Ilya Leoshkevich <iii@xxxxxxxxxxxxx>
> ---
>  man-pages/pahole.1 | 4 ++++
>  pahole.c           | 8 ++++++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/man-pages/pahole.1 b/man-pages/pahole.1
> index e292b2c..cbbefbf 100644
> --- a/man-pages/pahole.1
> +++ b/man-pages/pahole.1
> @@ -204,6 +204,10 @@ to "/sys/kernel/btf/vmlinux".
>  Allow producing BTF_KIND_FLOAT entries in systems where the vmlinux DWARF
>  information has float types.
>  
> +.TP
> +.B \-\-btf_gen_all
> +Allow using all the BTF features supported by pahole.
> +
>  .TP
>  .B \-l, \-\-show_first_biggest_size_base_type_member
>  Show first biggest size base_type member.
> diff --git a/pahole.c b/pahole.c
> index c8d38f5..df6aa83 100644
> --- a/pahole.c
> +++ b/pahole.c
> @@ -826,6 +826,7 @@ ARGP_PROGRAM_VERSION_HOOK_DEF = dwarves_print_version;
>  #define ARGP_numeric_version       320
>  #define ARGP_btf_base		   321
>  #define ARGP_btf_gen_floats	   322
> +#define ARGP_btf_gen_all	   323
>  
>  static const struct argp_option pahole__options[] = {
>  	{
> @@ -1125,6 +1126,11 @@ static const struct argp_option pahole__options[] = {
>  		.key  = ARGP_btf_gen_floats,
>  		.doc  = "Allow producing BTF_KIND_FLOAT entries."
>  	},
> +	{
> +		.name = "btf_gen_all",
> +		.key  = ARGP_btf_gen_all,
> +		.doc  = "Allow using all the BTF features supported by pahole."
> +	},
>  	{
>  		.name = "structs",
>  		.key  = ARGP_just_structs,
> @@ -1262,6 +1268,8 @@ static error_t pahole__options_parser(int key, char *arg,
>  		print_numeric_version = true;		break;
>  	case ARGP_btf_gen_floats:
>  		btf_gen_floats = true;			break;
> +	case ARGP_btf_gen_all:
> +		btf_gen_floats = true;			break;
>  	default:
>  		return ARGP_ERR_UNKNOWN;
>  	}
> -- 
> 2.29.2
> 

-- 

- Arnaldo



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux